解決編碼或解碼中非合法字元的問題處理方式
錯誤資訊:
UnicodeDecodeError: ‘XXX' codec can't decode bytes in position 2-5: illegal multibyte sequence
這是因為遇到了非法字元,例如:全形空格往往有多種不同的實現方式,比如\xa3\xa0,或者\xa4\x57,
這些字元,看起來都是全形空格,但它們並不是“合法”的全形空格
真正的全形空格是\xa1\xa1,因此在轉碼的過程中出現了異常。
而之前在處理新浪微博資料時,遇到了非法空格問題導致無法正確解析資料。
[解決辦法]
#將獲取的字串strTxt做decode時,指明ignore,會忽略非法字元,
#當然對於gbk等編碼,處理同樣問題的方法是類似的
strTest = strTxt.decode('utf-8', 'ignore')
return strTest
[補充]
預設的引數就是strict,代表遇到非法字元時丟擲異常;
如果設定為ignore,則會忽略非法字元;
如果設定為replace,則會用?號取代非法字元;
如果設定為xmlcharrefreplace,則使用XML的字元引用。
相關推薦
解決編碼或解碼中非合法字元的問題處理方式
錯誤資訊: UnicodeDecodeError: ‘XXX' codec can't decode bytes in position 2-5: illegal multibyte sequence 這是因為遇到了非法字元,例如:全形空格往往有多種不同的實現方式,比如
CMD執行JAVA出現編碼GBK的不可對映字元處理方法
出現這樣的錯誤,一般是因為程式碼中含有中文字元,註釋中的中文字元也算。由於使用CMD執行java程式的時候,系統預設的編碼格式是gbk。而包含中文字元的程式碼一般是UNICODE格式,所以直接執行含有中文字元的程式碼就很容易出現編碼錯誤。
java實踐-解決"編碼GBK 的不可對映字元"
在windows下使用DOS模式編譯java檔案時,產生以下問題: 剛開始以為是由於編輯器的編碼格式導致的,通過不斷save、compile java檔案,發現與編輯器的編碼方式無關. 最後參考
訪問檔案或圖片報403的處理方式
直接訪問檔案,提示403,拒絕訪問,即許可權問題 解決辦法 1: 新增tokenId,這個在檔案伺服器上需要配置 解決辦法 2: 新增 /mic字尾 403錯誤是因為檔案服務圈限制,該方法的原理式在檔案伺服器裡設定相關過濾器。 (另外,可在/mic後追
SpringBoot引入第三方jar包或本地jar包的處理方式
在開發過程中有時會用到maven倉庫裡沒有的jar包或者本地的jar包,這時沒辦法通過pom直接引入,那麼該怎麼解決呢 一般有兩種方法 - 第一種是將本地jar包安裝在本地maven庫 - 第二種是將本地jar包放入專案目錄中 這篇文章主要講第二
Python 2.x中常見字元編碼和解碼方面的錯誤及其解決辦法
Python 2.x中的字元編碼,設計的的確不好,導致初學者,甚至是即使用Python很長時間的人,都會經常遇到字元編解碼方面的錯誤。 下面就把一些常見情,儘量的都整理出來,並給出相應的解決辦法。 看此文之前 Python中字元編碼所涉及的背後邏輯(從你輸入字元,到
WebUtility(提供在處理 Web 請求時用於編碼和解碼 URL 的方法。)
html second rep eth asp entity utility -s 文本 public static string UrlEncode( string str ) UrlEncode(String) 方法可用來編碼整個 URL,包括查詢字符串值。
Python2與Python3的字元編碼與解碼
轉載於:https://www.jianshu.com/p/19c74e76ee0a 編碼與解碼 編碼(encode):在Unicode中,每一個字元都有一個唯一的數字表示,那麼將Unicode字串轉換為特定字元編碼(ASCII、UTF-8、GBK)對應的位元組串的過程和規則就是編碼。
maven編譯遇到"編碼GBK的不可對映字元"警告的處理
環境 作業系統:win10 JDK:1.8.0_144 maven:3.5.0 問題 普通的maven工程,java原始碼註釋中有中文,如下: package com.bolingcavalry.addservice; /** * @author wilzhao *
[Python除錯] 'gbk' codec can't encode character xxx in position的錯誤解決&編碼與解碼的思考探究
錯誤出現 使用request模組爬取網頁,將頁面原始檔res.text儲存到檔案get.html時, import request res = requests.get('http://weibo.com') with open(r'd:\get.html', 'w') as f
[Java]錯誤:編碼GBK的不可對映字元解決辦法
1.前提:出現如下錯誤: >>>javac test1.java >>>test1.java:3: 錯誤: 編碼GBK的不可對映字元>>> &n
java編碼,解碼。亂碼原因及解決辦法
轉換流的編碼,常見的出現亂碼組合 package com.qianfeng.test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import
maven編譯遇到"編碼GBK的不可對映字元"警告的處理
環境 作業系統:win10 JDK:1.8.0_144 maven:3.5.0 問題 普通的maven工程,java原始碼註釋中有中文,如下: package com.bolingcavalry.add
python下字元編碼和解碼問題 UnicodeEncodeError 'gbk' codec can't encod
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! 先說說我為何出現了這個問題,因為學完爬蟲後想拿豆瓣電影Top250練練手,這個是參考的連結(http://blog.csdn.net/fighting
中文亂碼解決之一 JS的編碼、解碼及C#中對應的解碼、編碼
JS的編碼、解碼及C#中對應的解碼、編碼 1、escape 定義和用法 escape對字串資料編碼,如果是對url進行編碼必須用encodeURI或是encodeURLComponent,解碼使用:unescape。 返回值 字符集是unicode,編碼成16進位制。 說明
處理URL編碼與解碼
Python url編碼: urllib.quote(url)#沒有對“/”進行處理 urllib.quote_plus(url) url解碼: urllib.unquote(url)#
Python中json.loads的時候出錯->要注意要解碼的Json字元的編碼
記錄一些關於Python中使用json.loads時候的注意事項。 在貼出注意事項之前,先貼上,python文件中,關於json.loads的說明: json.loads(s[, encoding[, cls[, object_hook[, parse_float[,parse_int[, par
pythong中" "的編碼和解碼處理
“ ”在 html 裡是空格佔位符,普通的空格在 html 裡如果連續的多個可能被認為只有一個,而” ”你寫幾個就能佔幾個空格位 而當Python對HTML中的”&am
asp對中文編碼及解碼,Decode和Encode中文網址處理
<%'-------------------------------------------------------------------------- '=======================================================
python 字元編碼與解碼——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode
摘要:在進行python指令碼的編寫時,如果我們用python來處理網頁資料或者進行與中文字元有關的處理工作,經常出現這樣的出錯資訊:SyntaxError: Non-ASCII character '\xe6' in file ./filename.py on line