为了账号安全,请及时绑定邮箱和手机立即绑定

Python 无法用big5编码“恒”字,decode()函数碰到F9DA(“恒”的big5码)报错

Python 无法用big5编码“恒”字,decode()函数碰到F9DA(“恒”的big5码)报错

梵蒂冈之花 2019-05-09 09:47:25
执行:"恒".encode("big5")报错:UnicodeEncodeError:'big5'codeccan'tencodecharacter'\u6052'inposition0:illegalmultibytesequence执行:b"\xf9\xda".decode("big5")报错:UnicodeDecodeError:'big5'codeccan'tdecodebyte0xf9inposition0:illegalmultibytesequencebig5码表
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超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)
'恒恆'
                            
查看完整回答
反对 回复 2019-05-09
  • 2 回答
  • 0 关注
  • 855 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信