有没有人知道在Java中检测字符集编码的简单方法?似乎有些程序可以检测给定数据使用的字符集,或者至少可以做出近似。
我想底层机制必须解码每个字符集中的数据,并选择具有最少未定义字符的字符集,然后选择更常见的字符集来打破平局。
有什么想法吗?
有没有人知道在Java中检测字符集编码的简单方法?似乎有些程序可以检测给定数据使用的字符集,或者至少可以做出近似。
我想底层机制必须解码每个字符集中的数据,并选择具有最少未定义字符的字符集,然后选择更常见的字符集来打破平局。
有什么想法吗?
为了确定数据是否以任何Unicode格式(UTF-8,UTF-16等)存在,您可以在字节流中读取数据并检查前4个字节(BOM大小),对于每种编码方式都是不同的。
例如:
对于UTF-8,前3个字节将是EF,BB,BF
对于非Unicode编码,我不确定...