根据文档,以下命令
'Brückenspinne'.encode("utf-8",errors='replace')
应该给我字节序列
b'Br??ckenspinne'
。然而,unicode 字符不会被替换,而是会被编码:
b'Br\xc3\xbcckenspinne'
你能告诉我如何真正消除 unicode 字符吗? (我使用替换来进行测试,我打算稍后使用
'xmlcharrefreplace'
。说实话,我想将 unicode 字符转换为其 xmlcharref,将所有内容保留为字符串)。
谢谢你。
utf-8
编码可以表示字符ü
;不会发生更换。
使用其他无法表示该字符的编码。例如
ascii
:
>>> 'Brückenspinne'.encode("ascii", errors='replace')
b'Br?ckenspinne'
>>> 'Brückenspinne'.encode("ascii", errors='xmlcharrefreplace')
b'Brückenspinne'
您可以使用 .encode("utf-8",errors='replace') 后跟 .decode()
>>> text = 'Brückenspinne'.encode("utf-8", errors='replace')
>>> text
b'Br\xc3\xbcckenspinne'
>>> text.decode()
'Brückenspinne'
或 .encode() + .decode()
>>> text = 'Brückenspinne'.encode("utf-8",errors='replace').decode()
>>> text
'Brückenspinne'
欲了解更多信息: