unicode - 如何识别 UTF-8 编码的字符串

标签 unicode encoding utf-8

识别字符串(是或)是否可能是 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/

相关文章:

javascript - 如何通过ajax获取UTF-8格式的数据

java - jsp 未以正确格式传递 UTF-8 数据

Java 客户端/服务器不返回 UTF-8 字符串

c++ - 如何在 C++ 中输出这些符号

javascript - 如何在C中将UNICODE/UTF-8转换为GB2312

perl - 获取代码点的所有 Unicode 别名

ruby - 用 gsub 替换字符串中的字符

json - 如何转换包含编码 Unicode 的 JSON 字符串

java - Jersey 自定义提供程序针对 UTF-8 编码抛出 IOException

java - 使用 UTF-16 编码和 BOM 在 Ant 中编写文本文件