我有一堆从 3rd 方服务器下载的纯文本文件。其中一些是胡言乱语;服务器发送了ENCODING1的信息(例如:UTF8),但实际上文件的编码是ENCODING2(例如:Windows1252)。
有没有办法以某种方式更正这些文件?
我认为这些文件(ENCODING1)主要以 UTF8、ISO-8859-2 和 Windows1252 编码(并且我认为它们主要是使用其中一种编码保存的)。我正在考虑重新编码每个文件内容
new String(String.getBytes(ENCODING1), ENCODING2)
使用 ENCODING1 和 ENCODING2 的所有可能性(对于 3 个编码,这将是 9 个选项),然后找到某种方法(例如:字符频率?)来判断 9 个结果中的哪一个是正确的。
是否有任何第三方库为此?
我尝试了 JChardet 和 ICU4J,但据我所知,它们都只能在使用 ENCODING1 的步骤发生之前检测文件的编码
谢谢,克里斯