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“的解決辦法
由于我在程序中設(shè)定文件打開的編碼格式為“utf-8”,但是我后來用電腦的記事本打開這個”三國演義.txt”文件,然后在點擊另存為的時候,發(fā)現(xiàn)原文件的編碼方式是“ANSI”. 哦哦哦哦哦哦哦哦哦哦哦。。。。不報錯才怪呢!
解決辦法很簡單,只需要在另存為的時候,選擇編碼方式為:UTF-8即可,就像下面這樣

之后Python運行即可正常
到此這篇關(guān)于發(fā)現(xiàn)python3的一個天坑問題:報錯UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid的文章就介紹到這了,更多相關(guān)python3報錯UnicodeDecodeError內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于tf.matmul() 和tf.multiply() 的區(qū)別說明
這篇文章主要介紹了關(guān)于tf.matmul() 和tf.multiply() 的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
解決出現(xiàn)Incorrect integer value: '''' for column ''id'' at row 1
這篇文章主要介紹了解決出現(xiàn)Incorrect integer value: '' for column 'id' at row 1的問題的相關(guān)資料,希望通過本文能幫助到大家,讓大家遇到這樣的問題及時的解決,需要的朋友可以參考下2017-10-10
tensorflow 獲取所有variable或tensor的name示例
今天小編就為大家分享一篇tensorflow 獲取所有variable或tensor的name示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

