日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取文件解码失败

發布時間:2025/3/21 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取文件解码失败 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python2.7 urllib2 抓取新浪亂碼

中的:

報錯的異常是
UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequence

此問題,還是很具有代表性的,此處,專門整理如下:

【Python中如何處理UnicodeDecodeError和UnicodeEncodeError】

簡答:

1.仔細分析錯誤的類型

2.搞清自己處理的字符串是什么類型的

3.然后換用這種的字符編碼去編碼或解碼

詳解:

以上面的錯誤:

UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequence

為例,去解釋,如何處理這類問題:

1.仔細分析錯誤的類型

(1)錯誤是Unicode的編碼還是解碼

對于此處,錯誤是:

UnicodeDecodeError
的類型的。

此英文,對應的中文的含義,其實已經很清楚了:

Unicode的解碼(Decode)出現錯誤(Error)了

而對于上面這句,我們可以推斷出:

你當前正在處理某種編碼類型的字符串
此處你要處理字符串,是想要將該字符串去解碼decode,變成Unicode
但是將該字符串解碼變成Unicode期間,卻出錯了

(2)所用的是何種編碼

好的,接著看上面的錯誤:

‘gbk’ codec can’t decode
使得錯誤信息更加明顯了:

你此處,要將字符串解碼為Unicode,是以gbk編碼的方式去解碼(該字符串變成Unicode)的
但是此處通過gbk的方式,卻無法解碼(can’t decode )
注:此處的codec,意思是:編解碼(器),是Python內部的模塊,用來編碼或解碼(字符串)的

(3)錯誤位置

bytes in position 2-3

此處的信息,后續一般也很少用到。

有時候會用于定位具體錯誤的位置。

此處暫且忽略。

(4)錯誤的細節錯誤類型

illegal multibyte sequence

翻譯為中文為:

非法的,多字節,序列

簡單說就是:

沒法(解碼)了。

【原因及解決辦法】

好了,針對于上面所分析出來的信息:

將一個字符串,通過gbk的方式,去解碼,想要獲得Unicode字符串,結果出錯了

我們來說說原因和解決辦法:

此種錯誤,有幾種可能:
(1)要處理的字符串本身不是gbk編碼,但是你卻以gbk編碼去解碼
比如,字符串本身是utf-8的,但是你卻用gbk去解碼utf-8的字符串,所以結果不用說,則必然出錯

則必然會出現這類的錯誤,說是,用gbk的方式去解碼字符串,想要獲得Unicode字符串,但是結果卻解碼出錯了

解決辦法:

如果你確定當前字符串,比如抓取網頁通過charset=utf-8,已經確定html的字符串是utf-8的,

則可以直接去通過utf-8去解碼。

相關參考內容:

詳解抓取網站,模擬登陸,抓取動態網頁的原理和實現(Python,C#等)

中的:

【整理】關于HTML網頁源碼的字符編碼(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解釋

而如果本身對于所處理的字符串,不太清楚是什么編碼類型的,可以嘗試去通過chardet等模塊,去檢測看看:

【教程】如何用Python中的chardet去檢測字符編碼類型

然后搞清楚了,確定了,字符串是什么類型,然后再去解碼。

提示:

關于字符串編碼的類型,作為背景學習知識,也應該去了解一下。

這樣對于以后處理字符串方面,會更有幫助。

(2)你沒有主動的去將字符串編碼為對應的Unicode,但是結果也報上面的UnicodeDecodeError的錯誤

這個情況,最常見的,就是我之前在:

【總結】Python 2.x中常見字符編碼和解碼方面的錯誤及其解決辦法

所整理過的:

“Python中,打印字符串時,字符串本身的編碼,與輸出終端中所用編碼不匹配”

此處不再贅述,只簡要再說一下:

如果你本身拿到的是utf-8等,非gbk編碼的字符串,然后用print去打印出來

在windows系統就是輸出到cmd中

而cmd中,(對于多數中國人所用的是中文的系統)默認字符編碼是gbk

從而導致此種現象:

python要將utf-8編碼的字符串,在gbk的cmd的中打印出來

所以先要去嘗試,用gbk的編碼,解碼為Unicode然后再打印出來

結果就出現此處的錯誤了。

詳細解釋,還是參見上面的教程。

其中還有示例代碼的。

(3)處理的字符的確是gbk的,但是其中夾雜的部分特殊字符,是gbk編碼中所沒有的
如果有些特殊字符是GB18030中有的,但是是gbk中沒有的。
則用gbk去解碼,去所不支持的字符,也比如會出錯。
所以,此種情況,可以嘗試用和當前編碼(gbk)所兼容的但所包含字符更多的編碼(gb18030)去解碼,或許就可以了。

提示:

如果對于GBK,GB18030,以及GB2312不了解,則可參考:

字符編碼簡明教程

另外:

如果遇到其他的,類似此中錯誤的,比如:

UnicodeEncodeError: 'gbk' codec can't encode character u'\u3232' in position 0: illegal multibyte sequence
等類型的錯誤,你就可以按照上述的思路,去分析,錯誤的現象,原因,然后通過自己,就可以找到解決辦法了。

注:

其他和這類錯誤相關的,也還有一些可以參考的:

【總結】靜態網頁抓取,動態網頁抓取,模擬登陸的注意事項和心得

中的:“返回的html內容是亂碼”

轉載于:https://www.cnblogs.com/superroshan/p/6347142.html

總結

以上是生活随笔為你收集整理的python读取文件解码失败的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧产日产国产精品 | 精品国产乱码一区二区 | 亚洲AV综合色区无码国产播放 | 欧美精品片 | 九一毛片 | 精品久久久久久久久久久 | 久久妇女 | 国产露脸91国语对白 | 精品嫩模一区二区三区 | 熟妇高潮精品一区二区三区 | 色成人综合网 | 欧美色图国产精品 | 香蕉久久精品日日躁夜夜躁 | 成人午夜大片 | 国产精品久久九九 | 小萝莉末成年一区二区 | 在线观看黄色免费网站 | 国产精品骚 | 国产婷婷色一区二区 | 少妇激情偷人三级 | 日本高清中文字幕 | 亚洲AV午夜精品 | 91精品国产aⅴ一区 黄色a网 | 曰本无码人妻丰满熟妇啪啪 | 欧美性大战xxxxx久久久 | 美女涩涩视频 | 91视频黄版 | 色婷婷视频在线观看 | 亚洲国产一区二区三区 | 久久精品毛片 | 办公室荡乳欲伦交换bd电影 | 国产精品色图 | 国产精品1024 | 成年人视频免费看 | 有码在线播放 | 国产视频一区二区三区四区五区 | 奇米久久久 | 久久久天堂国产精品女人 | 无遮挡aaaaa大片免费看 | 精品1区2区3区 | 日韩亚洲欧美精品 | 欧美性大战久久久久xxx | 三上悠亚在线一区 | 最新自拍偷拍 | 五月婷婷丁香在线 | 毛片最新网址 | 欧美va在线观看 | 久热国产精品 | 日韩高清精品免费观看 | 欧洲一区二区三区四区 | 亚洲精品日韩在线观看 | 久久神马影院 | 国产激情视频在线观看 | 国产成人无码精品久久久久 | 欧美色图3p | 国产a视频免费观看 | 波多野结衣在线免费视频 | 岛国激情 | 亚洲精品乱码久久 | 国产精彩视频在线观看 | 朝桐光在线视频 | 91天堂网 | 三上悠亚在线一区 | 成人性做爰aaa片免费看不忠 | 欧美日韩亚洲二区 | 影音先锋男人的天堂 | 在线观看日韩中文字幕 | 国产极品视频在线观看 | 国偷自产av一区二区三区麻豆 | 女女综合网 | 午夜精品福利在线 | 天天色天天干天天色 | 国产av电影一区 | 精品在线视频免费观看 | 精品xxxxx| 国产精品色视频 | 在线天堂中文在线资源网 | 国产日韩欧美精品一区 | 欧美性生交xxxxxdddd | av资源站最新av | 国产综合福利 | 精品影视一区二区 | 少妇高潮一区二区三区喷水 | 国产区在线视频 | 99热在线国产 | 国产免费久久精品国产传媒 | 日韩bbw| 不卡一区二区在线 | 亚洲人成亚洲人成在线观看 | 在线sese | 日韩色网站 | aaaaa黄色片| 色屁屁草草影院ccyycom | 少妇久久久久久久 | 成人乱人乱一区二区三区一级视频 | 捆绑最紧bdsm视频 | 18被视频免费观看视频 | 欧美精品国产一区 | 一区二区三区免费在线 |