我有一些包含mml的html,我使用MathType从Word文档生成。我有一个python脚本使用BeautifulSoup来美化它,但问题是它需要∠
之类的东西并将其转换为实际的字节序列0xE2 0x88 0xA0
,即∠符号。这是一个问题,因为0xE2 0x88 0xA0
在浏览器中不会显示为∠。而是浏览器将其解释为一系列拉丁字符。所有数学实体都会发生这种情况,例如Δ∠ - + ......等等。
我查看了BeautifulSoup文档,我可以看到如何将实体转换为字节序列,但我没有使用该命令;我正在使用的是美化()。我没有在BeautifulSoup文档中看到一种不将实体转换为字节序列的方法。
有没有人知道BeautifulSoup中是否有设置告诉它不要将实体更改为字节序列?我希望如此,因为在美化运行之后必须撤消损害似乎有点愚蠢:)
提前感谢您的帮助!
答案 0 :(得分:1)
我错过了BeautifulSoup文档的一部分。默认输出格式化程序执行所描述的行为:它们将html实体转换为unicode字符。因此,可以使用不同的输出格式化程序更改此行为。 (D'OH)
“您可以通过为prettify(),encode()或decode()....提供formatter参数的值来改变这种行为。”
因此,如果我传入formatter="html"
美丽的汤将尽可能将Unicode字符转换为HTML实体!好极了!谢谢美丽的汤!
(他们有很棒的文件。可惜我没有尽快阅读整篇文章。:$)