Python 将 html ascii 编码的文本转换为 utf8

标签 python encoding utf-8 ascii html-entities

我有一个 xml 文件,我需要将其转换为 utf8。 不幸的是,这些实体包含这样的文本:

/mytext,

我正在使用编解码器库将文件转换为 utf8,但 html 实体无法使用它。

有没有简单的方法摆脱 html 编码?

谢谢

最佳答案

您可以通过 unescape 传递文件的文本函数,然后将其传递给 XML 解析器。

或者,如果您只解析 HTML,lxml's http parser为你做这件事:

>>> import lxml.html
>>> html = lxml.html.fromstring("<html><body><p>&#047;mytext&#044;</p></body></html>")
>>> lxml.html.tostring(html)
'<html><body><p>/mytext,</p></body></html>'

关于Python 将 html ascii 编码的文本转换为 utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9487133/

相关文章:

objective-c - Objective-C 中的网址编码

javascript - UTF-8 与 Visual Studio 2008 中包含欧洲字符的 HTML 和 JavaScript 的代码页 1252

java - Character.isLowerCase(myChar) 和 'a' <=myChar && 'z' >=myChar 之间的区别

python - 当类的方法被分配给变量并在函数内部时,如何调用类的方法?

python - 在 python 中编写提醒/秒表程序的最佳方法?

python - 警告 :root:Can not find chromedriver for currently installed chrome version

algorithm - 实现动态位域

iphone - 如何修复 uiview 中 uilabel 的文本编码

python - 如何将数字添加到 pandas 数组的索引范围

java - "Unmappable character for encoding UTF-8"错误