gpt4 book ai didi

java - HTML 混合编码?

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:54 24 4
gpt4 key购买 nike

首先,我想提前感谢您的帮助。

我目前正在编写一个网络爬虫来解析 HTML 内容、去除 HTML 标签,然后对从解析中检索到的文本进行拼写检查。

使用 JSoup 和 Google Spell Check API,去除 HTML 标签和拼写检查没有造成任何问题。

我能够从 URL 中提取内容并将此信息传递到 byte[],然后最终传递到 String,以便它可以被剥离和拼写检查。我遇到了字符编码问题。

例如在解析 http://www.testwareinc.com/ 时...

原文:我们扩展了我们的移动网络和移动应用程序测试服务。

...该页面根据元标记使用 ISO-8859-1...

ISO-8859-1 解析:我们扩展了我们的移动网络和移动应用程序测试服务。

...然后尝试使用 UTF-8...

UTF-8 解析:我们扩展了移动网络和移动应用程序测试服务。

问题网页的 HTML 是否可能包含多种编码?如何检测到这一点?

最佳答案

看起来撇号被编码为 0x92 字节,根据 Wikipedia是未分配/私有(private)代码点。

从那里开始,浏览器似乎退回到假设它是一个未编码的 1 字节 Unicode 代码点:+0092 (Private Use Two) 似乎表示为撇号。不等等,如果它是一个字节,它更有可能是 cp1252 : 浏览器必须根据宣传的 CP 有回退策略,例如 ISO-8859-1 -> CP1252。

所以这里没有混合编码,但正如其他人所说,这是一个损坏的文件。但是使用后备启发式方法有时会有所帮助,有时则无济于事。

如果您足够好奇,您可能想深入研究 FF 或 Chrome 的源代码,看看它们在这种情况下究竟做了什么。

关于java - HTML 混合编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7585117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com