python3的一個天坑問題及解決方法:報錯UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid
發(fā)現(xiàn)python3的一個天坑問題:報錯UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid
一、問題還原
近日,良哥在調(diào)試程序發(fā)現(xiàn)python3的一個天坑問題。特此曝光,為眾位開發(fā)朋友提個醒。程序代碼如下:
執(zhí)行后,此處會報錯,報錯信息如下:
二、原因分析
原來這就是Python 編碼中最常見也是最天坑的兩個錯誤:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte
翻譯過來就是python在ASCII和UTF-8編碼集中沒法實現(xiàn)部分字符的編碼,我這個錯誤就是‘utf-8’不能解碼位置59的那個字節(jié)(0xce),也就是這個字節(jié)超出了utf-8的表示范圍了。
三、解決辦法
我把代碼中的 encoding="utf-8"改為 encoding='gbk’即可。
補充:python 報錯“UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte“的解決辦法
由于我在程序中設定文件打開的編碼格式為“utf-8”,但是我后來用電腦的記事本打開這個”三國演義.txt”文件,然后在點擊另存為的時候,發(fā)現(xiàn)原文件的編碼方式是“ANSI”. 哦哦哦哦哦哦哦哦哦哦哦。。。。不報錯才怪呢!
解決辦法很簡單,只需要在另存為的時候,選擇編碼方式為:UTF-8即可,就像下面這樣
之后Python運行即可正常
到此這篇關于發(fā)現(xiàn)python3的一個天坑問題:報錯UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid的文章就介紹到這了,更多相關python3報錯UnicodeDecodeError內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于Linux系統(tǒng)中python matplotlib畫圖的中文顯示問題的解決方法
下面小編就為大家?guī)硪黄贚inux系統(tǒng)中python matplotlib畫圖的中文顯示問題的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06python+selenium小米商城紅米K40手機自動搶購的示例代碼
這篇文章主要介紹了python+selenium小米商城紅米K40手機自動搶購的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03python進行OpenCV實戰(zhàn)之畫圖(直線、矩形、圓形)
這篇文章主要為大家詳細介紹了python進行OpenCV實戰(zhàn)之畫圖功能,畫出直線、矩形、圓形,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08python實現(xiàn)內(nèi)存監(jiān)控系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)內(nèi)存監(jiān)控系統(tǒng),通過系統(tǒng)命令或操作系統(tǒng)文件獲取到內(nèi)存信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06淺析python中5個帶key的內(nèi)置函數(shù)
這篇文章主要介紹了python中5個帶key的內(nèi)置函數(shù),包括max取最大值函數(shù),min取最小值函數(shù),filter過濾函數(shù),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07