2013-04-05 53 views
1

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

我从BeautifulSoup文件看,我可以看到如何把实体到字节序列,但我不使用该命令;我正在使用的是美化()。我没有在BeautifulSoup文档中找到一种方法来将实体转换为字节序列。

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

在此先感谢您的帮助!

回答

1

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

“您可以通过格式化参数提供的值更改此行为美化(),编码(),或解码()......”

所以,如果我通过在formatter="html"只要有可能,Beautiful Soup就会将Unicode字符转换为HTML实体!好极了!谢谢美丽的汤!

(他们有这么好的文档,可惜我没有更早读完整件东西):$)