繁体   English   中英

如何检测Java中的字符集编码?

[英]How to detect which character set encoding in Java?

有人知道是否有一种简单的方法来检测Java中的字符集编码? 在我看来,某些程序能够检测给定数据使用哪个字符集,或至少进行近似。

我认为底层机制必须解码每个字符集中的数据并选择具有最少未定义字符的那个,然后是哪个字符集更常见以打破平局。

有任何想法吗?

看看jchardet ,一个从Mozilla浏览器移植的库,专门用于“猜测”文档的字符集。

作为替代方案, cpdetector库更新一点,专门用于检测文档的代码页。

为了查找数据是否为任何unicode格式(UTF-8,UTF-16等),您可以读取字节流中的数据并检查前4个字节(BOM大小),并且对于每个编码,它将是不同的

例如:

对于UTF-8,前3个字节将是EF,BB,BF

对于unicode编码以外的编码,我不确定......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM