1
10
几年前,我们为邮件应用程序提供了字符集检测,我们推出了自己的。邮件应用程序实际上是一个WAP应用程序,手机需要UTF-8。有几个步骤: 普遍的 我们可以很容易地检测文本是否为UTF-8,因为在字节2/3/等的顶部位中有一个特定的位模式。一旦发现该模式重复一定次数,就可以确定它是UTF-8。 如果文件以UTF-16字节顺序标记开头,则可以假定其余文本就是该编码。否则,检测UTF-16远不如检测UTF-8容易,除非您可以检测代理项对模式:但代理项对的使用很少,因此通常不起作用。UTF-32类似,只是没有要检测的代理项对。 区域探测 接下来我们假设读者在某个区域。例如,如果用户看到的是日语本地化的UI,那么我们可以尝试检测三种主要的日语编码。ISO-2022-JP再次向东探测逃逸序列。如果失败,确定EUC-JP和Shift JIS之间的差异就不是那么简单了。用户很可能会收到Shift JIS文本,但EUC-JP中有一些字符在Shift JIS中不存在,反之亦然,因此有时您可以得到一个很好的匹配。 同样的程序也用于中文编码和其他地区。 用户选择
|
2
7
不完全是你想要的,但我注意到 ICU project 包括 CharsetDetector 班 |
dukyz · 为什么java中的字符串解码和编码并不总是对称的? 6 年前 |