根据您的经验,到目前为止,哪些Unicode字符,代码点,BMP(基本多语言平面)之外的范围是最常见的?这些是需要UTF-8中的4个字节或UTF-16中的代理项.
我希望答案是在名称中使用的中文和日文字符,但不包括在最广泛的CJK多字节字符集中,但在我最常用的项目上,英文维基词典,我们发现哥特字母是到目前为止更为常见.
UPDATE
我写了几个软件工具来扫描整个维基百科上的非BMP字符,我惊讶地发现,即使在日语维基百科中,哥特字母也是最常见的.在中文维基百科中也是如此,但它也有许多中文字符被使用多达50或70次,包括"",""和"".
我正在寻找一种方法来检测文档中的字符集.我一直在这里阅读Mozilla字符集检测实现:
我还发现了一个名为jCharDet的Java实现:
这两者都是基于使用一组静态数据进行的研究.我想知道的是,是否有人成功使用过任何其他实现,如果有的话,是什么?你有自己的方法吗?如果是的话,你用来检测字符集的算法是什么?
任何帮助,将不胜感激.我不是在寻找通过谷歌的现有方法列表,也不是在寻找Joel Spolsky文章的链接 - 只是为了澄清:)
更新:我对此进行了大量研究,最终找到了一个名为cpdetector的框架,该框架使用可插入的方法进行字符检测,请参阅:
这提供了BOM,chardet(Mozilla方法)和ASCII检测插件.编写自己的代码也很容易.还有另一个框架,它提供了更好的字符检测,Mozilla方法/ jchardet等......
为cpdetector编写自己的插件非常容易,它使用这个框架来提供更准确的字符编码检测算法.它比Mozilla方法更好用.
似乎是一个相当热门的问题,但我还没有找到解决方案; 也许是因为它有这么多口味.虽然这是.我正在尝试阅读一些逗号分隔文件(偶尔分隔符可能比逗号更独特,但逗号现在就足够了).
这些文件应该在整个行业标准化,但最近我们已经看到了许多不同类型的字符集文件.我希望能够设置一个BufferedReader来弥补这一点.
这样做的标准方法是什么,并检测它是否成功?
我对这种方法的第一个想法是循环遍历字符集simple-> complex,直到我可以无异常地读取文件.虽然不完全理想......
感谢您的关注.