1

我正在处理使用 Java HtmlUnit 采样的数据。该网页使用 Windows-1252 编码,但检索到的响应好像页面被编码为 UTF-8(即,当调用 HtmlUnit WebResponse 对象上的 getContentAsString 时,指定了 UTF-8 编码而不是推迟到服务器中指定的编码回复)。有没有办法扭转这个过程,从错误标记的 UTF-8 字符数据中重建原始 Windows-1252 数据?

关于这个主题的大多数其他问题都与识别文件类型或从一种流类型转换为另一种流类型以首先正确编码字符有关。这里情况不同。我不相信 iconv 之类的实用程序会起作用,因为他们希望这些流从一开始就正确地保存在其源编码中。

4

1 回答 1

4

可能不是。如果 Windows-1252 编码的文本被误认为是 UTF-8,则所有非 ASCII 代码点都会被损坏,因为 UTF-8 处理这些代码点的方式。只有当你非常非常幸运,并且所有非 ASCII 码点都成对或三元组出现时,纯属偶然的机会,转换为真正的 Unicode 码点,你才能逆转这个过程。

但你几乎不走运。

于 2011-12-23T08:43:13.300 回答