在Java中检测(或最佳猜测)传入的字符串编码

时间:2011-07-21 19:07:21

标签: java encoding utf-8 decoding utf-16

我想知道是否有已知方法可以检测(或最好地猜测)Java中特定字符串的编码。

我知道你总是需要一些额外的元数据来说明编码是什么,并且有最佳实践等,但是我所处的情况,我需要给出最好的近似值。

以编程方式区分UTF-8和UTF-16的解决方案 - 或指针 - 也是受欢迎的。

3 个答案:

答案 0 :(得分:2)

utf-8编码应该很容易验证:

  

通过简单的启发式算法可以相当可靠地识别UTF-8字符串。   from wikipedia

查看this site to see the algorithm

答案 1 :(得分:2)

查看包含字符检测器的ICU4J

答案 2 :(得分:0)

请查看Apache Commons IO,特别是BOMInputStream