您的位置:首页 > 编程语言 > Python开发

Python2 之汉字编码为unicode问题(即类似\xc3\xa4)

2017-10-14 01:37 519 查看
Python2中编码相关的问题很是让人蛋疼,特别是中文字符。

比如本文所述的中文网页GBK编码的诡异问题。

现象

例如:
盲录職氓聭聵
,其实网页里面正常的应该是
会员


分析

接着上面的例子,
会员
这部分乱码通过
repr()
函数求值得到如下结果

\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98


使用
type()
函数求值得到的结果为
unicode


eval(repr())
出来值为

盲录職氓聭聵


通过查表上述6个汉字对应

c3a4 c2bc c29a c3a5 c291 c298


而上面内容对应的UTF-8值就是
会员


解决方法

相当诡异的是本身是unicode编码,却被当作GBK系列来解码,结果导致乱码。因此将这些字符先编码再解决解决问题。

encode('raw_unicode_escape').decode()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 编码 unicode GBK
相关文章推荐