首页 > 编程 > Python > 正文

浅谈Python2之汉字编码为unicode的问题(即类似/xc3/xa4)

2019-11-25 12:00:58
字体:
来源:转载
供稿:网友

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()

以上这篇浅谈Python2之汉字编码为unicode的问题(即类似/xc3/xa4)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表