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

yipeiwu_com7年前Python基础

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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python网络框架Django和Scrapy安装指南

详解Python网络框架Django和Scrapy安装指南

Windows 上的Django安装 如今Python使用的范围越来越广,所以学会关于它比较火的网络框架非常有必要。要安装Django,首先要知道你电脑上的python是哪个版本的,至于...

Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计

Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计

说实在的个人对游戏并没有多大的兴趣,但唯独对暴雪的Diablo系列很有感情,去年年初开始玩Diablo3,断断续续,感觉最麻烦的是选择技能,每次版本更新可能都有更优的build,这对于我...

Python标准库笔记struct模块的使用

最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结...

Python中垃圾回收和del语句详解

Python中的垃圾回收算法是采用引用计数, 当一个对象的引用计数为0时, Python的垃圾回收机制就会将对象回收 a = "larry" b = a larry这个字符串对象,...

pytorch:torch.mm()和torch.matmul()的使用

如下所示: torch.mm(mat1, mat2, out=None) → Tensor torch.matmul(mat1, mat2, out=None) → Tensor...