Python16进制与中⽂相互转换的实现⽅法
Python中编码问题:u' e6 97 a0 e5 90 8d' 类型的转为utf-8的解决办法
相信⼩伙伴们遇到过类似这样的问题,python2中各种头疼的转码,类似u' e6 97 a0 e5 90 8d' 的编码,直接s.decode()是⽆法解决编码问题。尝试了⽆数办法,都⽆法解决。
最终得到完美的解决办法:
s = u' e6 97 a0 e5 90 8d'
s2 = s.encode('raw_unicode_escape')
print s2 ---->⽆名
python⼗六进制字符码转中⽂很简单,只需decode,再encode即可。
例:现在有⼀串utf-8的⼗六进制字符码串, ‘i am request, E6 88 91 E6 98 AF E8 AF B7 E6 B1 82'
a = 'i am request, E6 88 91 E6 98 AF E8 AF B7 E6 B1 82'.decode('utf-8').encode('utf-8')
print a
输出:i am request,我是请求
假设s='中国'
那么print repr(s)得到的就是16进制字符串
⽽print s得到的是汉字
>>> s='中国'
>>> s
' e4 b8 ad e5 9b bd'
>>> print s
中国
>>> print repr(s)
中文字符unicode查询' e4 b8 ad e5 9b bd'
>>>
以上这篇Python 16进制与中⽂相互转换的实现⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论