1. 程式人生 > >python讀取中編碼錯誤(illegal multibyte sequence )

python讀取中編碼錯誤(illegal multibyte sequence )

讀取中文txt檔案時,經常會出現: ‘gbk’ codec can’t decode bytes in position 31023: illegal multibyte sequence。 主要講一種情況就是文章中含有utf-8或gbk無法編碼的字元情況。 好多人都說加入’ignore’,但一直都沒有說清楚是在open函式中加入,還是在.read()中加入(其實是在open函式中加入,如下面例子)。 ‘gb1830’所含的比’gbk’要多,因此下面程式碼段採用了’gb1830’。

 cf=open("D:\A仲敏2015\python_code\天龍八部.txt",encoding='gb18030',errors='ignore')cf1=cf.read()

python中開啟檔案,open(‘d:/data/synopses_list_wiki.txt’) 出現如下錯誤: UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x93 in position 20651: illegal multibyte sequence 報錯:

原因是含有無法編碼的字元,或者是開啟的編碼不對。 解決方法一:用 utf-8 編碼開啟 (實際檔案的編碼方式) 如下: open('d:/data/synopses_list_wiki.txt',encoding='utf-8')

解決方法二:在open中加入errors=‘ignore’ ,忽略它即可 如下:

open('d:/data/synopses_list_wiki.txt',errors='ignore')