python3 编码替换 unicode 字符

python3 encode replace unicode characters

根据文档,下面的命令

'Brückenspinne'.encode("utf-8",errors='replace')

应该给我字节序b'Br??ckenspinne'。但是,unicode 字符不会被替换,但会被编码:

b'Br\xc3\xbcckenspinne'

你能告诉我我是如何消除 unicode 字符的吗? (我使用 replace 进行测试,我打算稍后使用 'xmlcharrefreplace'。老实说,我想将 unicode 字符转换为它们的 xmlcharref,将所有内容都保留为字符串)。

谢谢。

utf-8编码可以表示字符ü;没有发生替换。

使用其他无法表示字符的编码。例如 ascii:

>>> 'Brückenspinne'.encode("ascii", errors='replace')
b'Br?ckenspinne'

>>> 'Brückenspinne'.encode("ascii", errors='xmlcharrefreplace')
b'Brückenspinne'