1

我有一些 html 包含我使用 MathType 从 Word 文档生成的 mml。我有一个使用 BeautifulSoup 美化它的 python 脚本,但问题是它需要类似的东西∠并将其转换为实际的字节序列0xE2 0x88 0xA0 ,即∠符号。这是一个问题,因为0xE2 0x88 0xA0不会在浏览器中显示为∠。相反,浏览器将其解释为一系列拉丁字符。这也发生在所有数学实体上,例如 Δ ∠ − +... 等。

我查看了 BeautifulSoup 文档,可以看到如何将实体转换为字节序列,但我没有使用该命令;我正在使用的是 prettify()。而且我在 BeautifulSoup 文档中没有看到不将实体转换为字节序列的方法。

有谁知道 BeautifulSoup 中是否有设置告诉它不要将实体更改为字节序列?我希望如此,因为在美化运行后必须撤消损坏似乎有点愚蠢:)

在此先感谢您的帮助!

4

1 回答 1

1

我错过了 BeautifulSoup 文档的一部分。默认输出格式化程序执行所描述的行为:它们将 html 实体转换为 unicode 字符。因此,可以通过使用不同的输出格式化程序来更改此行为。(哦)

“您可以通过为 prettify()、encode() 或 decode() 的 formatter 参数提供一个值来更改此行为......”

因此,如果我传入formatter="html"Beautiful Soup 将尽可能将 Unicode 字符转换为 HTML 实体!耶!谢谢美丽的汤!

(而且他们有这么好的文档。可惜我没有早点阅读整本书。:$)

于 2013-04-08T15:02:24.013 回答