执行:
"恒".encode("big5")
报错:
UnicodeEncodeError: 'big5' codec can't encode character '\u6052' in position 0: illegal multibyte sequence
执行:
b"\xf9\xda".decode("big5")
报错:
UnicodeDecodeError: 'big5' codec can't decode byte 0xf9 in position 0: illegal multibyte sequence
big5码表
2 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
最简单的方法,肯定是改成繁体字的“恆”咯;
麻烦点的方法,就是先用Unicode码位顶替无法编码的字符,解码后再自行处理,代码如下:
>>> foo = '恒恆'.encode(encoding='big5', errors='backslashreplace')
>>> foo
b'\\u6052\xab\xed'
>>> temp = foo.decode(encoding='big5', errors='backslashreplace')
>>> temp
'\\u6052恆'
>>> bar = repr(temp).replace('\\\\', '\\')
>>> bar
"'\\u6052恆'"
>>> eval(bar)
'恒恆'
添加回答
举报
0/150
提交
取消