识别字符串(是或)是否可能是 UTF-8 编码的最佳方法是什么? Win32 API IsTextUnicode
在这里没有太大帮助。此外,该字符串将没有 UTF-8 BOM,因此无法检查。而且,是的,我知道只有 ASCII 范围以上的字符才被编码为超过 1 个字节。
最佳答案
chardet Mozilla 开发的用于 FireFox 的字符集检测。 Source code
jchardet是 Mozilla 的自动字符集检测算法的源代码的 java 端口。
NCharDet是 Mozilla 和 FireFox 浏览器中使用的 C++ 的 Java 端口的 .Net (C#) 端口。
Code project C#使用 Microsoft 的 MLang 的示例用于字符编码检测。
UTRAC 是用 C++ 编写的用于检测字符串编码的命令行工具和库
cpdetector是一个用于编码检测的java项目
chsdet是一个delphi项目,是一个独立的可执行模块,用于对给定文本或文件进行自动字符集/编码检测。
另一个有用的帖子,指向很多库来帮助您确定字符编码http://fredeaker.blogspot.com/2007/01/character-encoding-detection.html
您也可以查看相关问题 How Can I Best Guess the Encoding when the BOM (Byte Order Mark) is Missing? ,它有一些有用的内容。
关于unicode - 如何识别 UTF-8 编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377294/