【发布时间】:2011-12-27 02:53:26
【问题描述】:
在一次代码审查中,我遇到了以下代码:
# Python bug that renders the unicode identifier (0xEF 0xBB 0xBF)
# as a character.
# If untreated, it can prevent the page from validating or rendering
# properly.
bom = unicode( codecs.BOM_UTF8, "utf8" )
r = r.replace(bom, '')
这是在将字符串传递给 Response 对象(Django 或 Flask)的函数中。
这仍然是一个需要在 Python 2.7 或 3 中修复的错误吗?有些东西告诉我不是,但我想我会问,因为我不太了解这个问题。
我不确定这是从哪里来的,但我在 Internet 上看到过,有时与 Jinja2(我们正在使用)相关联。
感谢阅读。
【问题讨论】:
-
如果您在代码审查中遇到它,也许您可以问作者代码最初来自哪里,是否有一些测试用例?因为我以前从未见过它,并且认为没有真正需要它(至少我从来没有遇到过不这样做的问题)。
-
@poke 很有可能作者就是我。大声笑
-
现在回复晚了 xD
-
@poke 迟到总比没有好。 :o)
标签: python unicode utf-8 byte-order-mark