可能是重复问题:
如何在Python 2.6中将HTML实体替换为相应的UTF-8字符?
在Python中转义HTML的最简单方法是什么?
有一种简单的方法可以将字符串转换为HTML字符串,例如用像<、>这样的字符替换为<
>
,还是我需要编写自己的转换程序?
可能是重复问题:
如何在Python 2.6中将HTML实体替换为相应的UTF-8字符?
在Python中转义HTML的最简单方法是什么?
有一种简单的方法可以将字符串转换为HTML字符串,例如用像<、>这样的字符替换为<
>
,还是我需要编写自己的转换程序?
如果你只关心像 &
, <
和 >
这样的关键特殊字符:
>>> import cgi
>>> cgi.escape("<hello&goodbye>")
'<hello&goodbye>'
对于其他非ASCII字符:
>>> "Übeltäter".encode("ascii", "xmlcharrefreplace")
b'Übeltäter'
当然,如果必要的话,你可以将两者组合起来:
>>> cgi.escape("<Übeltäter>").encode("ascii", "xmlcharrefreplace")
b'<Übeltäter>'
>>> "Übeltäter".encode("ascii", "xmlcharrefreplace")
results inUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
- brandones