Java中的自动检测字符编码

似乎是一个相当受欢迎的问题,但我还没有找到解决方案; 也许是因为它有这么口味。 虽然这是。 我正在尝试阅读一些逗号分隔文件(偶尔分隔符可能比逗号更独特,但逗号现在就足够了)。

这些文件应该在整个行业标准化,但最近我们已经看到了许多不同类型的字符集文件。我希望能够设置一个BufferedReader来弥补这一点。

这样做的标准方法是什么,并检测它是否成功?

我对这种方法的第一个想法是循环遍历字符集simple-> complex,直到我可以无exception地读取文件。 虽然不完全理想……

感谢您的关注。

Mozilla的universalchardet应该是有效的探测器。 juniversalchardet是它的java端口。 还有一个港口。 阅读此SO以获取更多信息字符编码检测算法