1. 程式人生 > >python 讀取檔案時報錯UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

python 讀取檔案時報錯UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

在python3讀取txt檔案時,遇到上面問題是因為:
txt檔案存的是utf8編碼,開啟檔案的時候沒有指定編碼,檔案雖然是utf8編碼,但是在計算機裡面儲存的還是unicode編碼資料,即計算機是將檔案的內容按照utf8編碼成unicode後存到了硬碟上,而現在執行f.read()的時候,因為沒有指定編碼,f.read()可能是發現檔案中有中文,所以按照gbk來試圖將unicode解碼,但是因為檔案本身是utf8的,所以解碼失敗。

修改方法1:

FILE_OBJECT= open('aaa.txt','r', encoding='UTF-8')

修改方法2:

FILE_OBJECT= open
('aaa.txt','rb')

建議使用第一種,定義資料讀取的編碼,第二種會以二進位制的方法讀取資料,會給後面帶來麻煩。