1
266
你无法检测到代码页,你需要被告知它。您可以分析字节并猜测它,但这可能会产生一些奇怪(有时很有趣)的结果。我现在找不到它,但我肯定记事本会被欺骗,用中文显示英文文本。 无论如何,这是你需要阅读的内容: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) . 特别是乔尔说:
|
2
34
|
3
29
你试过了吗 C# port for Mozilla Universal Charset Detector 来自 http://code.google.com/p/ude/
|
4
16
这显然是错误的。每个web浏览器都有某种通用的字符集检测器来处理没有任何编码指示的页面。Firefox有一个。您可以下载代码并查看它是如何实现的。请参阅一些文档 here . 基本上,这是一种启发性的方法,但效果非常好。 给定合理数量的文本,甚至可以检测语言。 Here's another one 我刚刚发现使用谷歌: |
5
10
我知道现在回答这个问题已经很晚了,而且这个解决方案对一些人没有吸引力(因为它以英语为中心,缺乏统计/实证测试),但它对我来说非常有效,特别是在处理上传的CSV数据方面: http://www.architectshack.com/TextFileEncodingDetector.ashx
注意:我是写这门课的人,所以很明显,我对此持保留态度!:) |
7
7
寻找不同的解决方案,我发现 https://code.google.com/p/ude/ 这个解决方案有点重。
http://lists.w3.org/Archives/Public/www-validator/2002Aug/0084.html 为Java编写。
从文件中读取大约1024字节就足够了,但我正在加载整个文件。 |
8
7
如果有人正在寻找93.9%的解决方案。这对我很有用:
|
9
4
我在Python中也做过类似的事情。基本上,您需要来自各种编码的大量样本数据,这些数据由滑动的两字节窗口分解并存储在字典(散列)中,在字节对上键入,提供编码列表的值。
如果您还对UTF编码的文本进行了采样 不 从任何BOM表开始,第二步将涵盖从第一步滑出的BOM表。 到目前为止,它适用于我(样本数据和后续输入数据是各种语言的字幕),错误率也在降低。 |
10
4
工具“uchardet”使用每个字符集的字符频率分布模型很好地实现了这一点。更大的文件和更“典型”的文件更有信心(显然)。
|
11
3
StreamReader类的构造函数采用“detect encoding”参数。 |
12
1
如果可以链接到C库,则可以使用
这是GPL v2。 |
13
0
遇到了同样的问题,但还没有找到自动检测问题的好方法。 现在我用PsPad(www.PsPad.com)来做这个;)很好 |
14
0
由于它基本上归结为启发式,因此使用以前从同一来源收到的文件的编码作为第一个提示可能会有所帮助。 大多数人(或应用程序)每次都以几乎相同的顺序做事情,通常是在同一台机器上,因此,当Bob创建一个.csv文件并将其发送给Mary时,它很可能总是使用Windows-1252或他的机器默认的任何东西。 在可能的情况下,一点客户培训也不会有什么坏处:-) |
15
0
我实际上是在寻找一种通用的、非编程的方法来检测文件编码,但我还没有找到。 通过使用不同的编码进行测试,我发现我的文本是UTF-7。 我第一次做的是: StreamReader文件=file.OpenText(完整文件名); 我不得不把它改成: StreamReader文件=新的StreamReader(完整文件名,System.Text.Encoding.UTF7);
您也可以像这样创建StreamReader 新的StreamReader(fullfilename,true),第二个参数意味着它应该尝试从文件的byteordermark中检测编码,但在我的例子中这不起作用。 |
16
0
在AkelPad中打开文件(或只是复制/粘贴一个乱码文本),进入编辑->选择->重新编码-&燃气轮机;选中“自动检测”。 |
17
0
作为ITmeze post的附加组件,我使用此函数为Mozilla Universal Charset Detector转换C#port的输出
|
18
0
谢谢@
Erik Aronesty
提及
见: chardet man page: https://www.commandlinux.com/man-page/man1/chardetect.1.html 这将试探性地检测(猜测)每个给定文件的字符编码,并报告每个文件检测到的字符编码的名称和置信度。 |
19
-1
|
20
-1
10年(!)已经过去,因为这是问,但我仍然没有看到提到MS的良好,非GPL'ed解决方案: IMultiLanguage2 应用程序编程接口。 前面提到的大多数库都基于Mozilla的UDE——浏览器已经解决了类似的问题,这似乎是合理的。我不知道chrome的解决方案是什么,但由于IE 5.0 MS发布了他们的解决方案,它是:
here's some very nice work 由Carsten Zeumer编写,用于处理.net使用的互操作混乱。周围还有其他一些图书馆,但总的来说,这个图书馆没有得到应有的重视。 |
John Smith · 在特定行的末尾添加文本 2 年前 |
AndrewLeonardi · 居中并左对齐-引导 6 年前 |
deadlyvices · 在WPF中精确定位glyph文本 6 年前 |
jared-nelsen · 更改文本字段的大小和行为 6 年前 |
Ezeeroc · div元素未更改其文本内容 6 年前 |
Ally · 在位图上绘制长字符串会导致绘图问题 6 年前 |
Kevin Brophy · 在全屏视频上放置文本 6 年前 |