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

yipeiwu_com6年前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读取TXT每行,并存到LIST中的方法

python读取TXT每行,并存到LIST中的方法

文本如图: Python: import sys result=[] with open('accounts.txt','r') as f: for line in f: re...

Python实现截屏的函数

Python实现截屏的函数 # -*- coding: cp936 -*- import time,Image import os, win32gui, win32ui, win...

pyQT5 实现窗体之间传值的示例

pyQT5 实现窗体之间传值的示例

准备 一个MainWindow和一个WidgetForm,总代码如下 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets fr...

python读取dicom图像示例(SimpleITK和dicom包实现)

1. 用SimpleITK读取dicom序列: import SimpleITK as sitk import numpy as np img_path='F:\\dataset\\...

Python学习小技巧之利用字典的默认行为

本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: from collections import defaul...