python print 打印的数据包含中文,打印报错UnicodeDecodeError: 'gbk' codec can't decode bytes in position 459-460: i

python 2.7 print 的数据中若包括中文,打印则会报错UnicodeDecodeError: 'gbk' codec can't decode bytes in position 459-460: illegal multibyte sequence,python

错误缘由:将一个字符串,经过gbk的方式,去解码,想要得到Unicode字符串出错了,通常是由于解码的方式与其原编码方式不一致所致,好比该数据编码格式是utf-8,你却用gbk去解码,固然出错,“解码方式和编码方式要保持一致”,你应该用utf-8的解码方式去解码utf-8编码的数据,才能成功解码为unicode类型的数据。编码

具体解决办法:spa

一、经过encodetype=chardet.detect(data)['encoding']查看打印的数据data的编码格式encodetype;code

二、经过data.decode('encodetype')解码该数据,将成功解码为unicode类型的数据。blog

三、示例:utf-8

这样print就能够正常打印包含中文的数据了。unicode

相关文章
相关标签/搜索