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

相關文章
相關標籤/搜索