UnicodeDecodeError: 'utf-8' codec can't decode byte..問題


解決UnicodeDecodeError: 'utf-8' codec can't decode byte..問題

  • 問題描述:

  • 問題分析:

    該情況是由於出現了無法進行轉換的 二進制數據 造成的,可以寫一個小的腳本來判斷下,是整體的字符集參數選擇上出現了問題,還是出現了部分的無法轉換的二進制塊:

  • 問題解決

    法一:將gbk編碼數據decode('gbk')得到utf8編碼的數據

    法二:修改字符集參數,一般這種情況出現得較多是在國標碼(GBK)和utf8之間選擇出現了問題。 ​ 出現異常報錯是由於設置了decode()方法的第二個參數errors為嚴格(strict)形式造成的,因為默認就是這個參數,將其更改為ignore等即可。例如:

    line.decode("utf8","ignore")

    法三:在網上搜了很多人的處理方法是在程序的頂部加

    import sys
    reload( sys )
    sys.setdefaultencoding('gbk')

可是我自己試一了,程序錯是不報了,但是實際沒有運行

最后,我在程度的頂部加了下面兩行就好了,中文也可以正常顯示了

  # !/usr/bin/env Python
 # coding=utf-8

 還有一種情況就是如果你用pyhton IO讀取一個文件,那么要求將文件的編碼方式轉換成UTF-8。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM