[英]Unicode encoding error in python
我在我的數據中有字符\\ u002d,\\ u2019,u \\ 2022,\\ u25ba,\\ u2013等。 我要做json.loads(data)
我試過了
data1 = data.encode('utf-8')
json.loads(data1)
我仍然得到一個錯誤。
也嘗試了以下但最終出錯了
b1 = data.encode('ascii', 'ignore')
b2 = json.loads(b1)
它可以用來替換我的數據中的字符,比如'\\ u002d'到' - ',但是我不知道其他字符可能會出現什么。所以我正在尋找一個可以編碼這些字符的解決方案
沒有必要對數據進行編碼。
直接將它提供給json.loads()
; JSON標准使用\\u....
轉義符來表示Unicode值了 。
這些值不是以UTF-8編碼的,Python json
模塊將為您處理它們。
即使數據是以 UTF-8編碼的, json
模塊也會為您處理。 即使它沒有,你也會使用str.decode()
,而不是編碼。
UTF-8數據看起來也不同; U + 2019代碼點如下所示:
>>> u'\u2019'.encode('utf8')
'\xe2\x80\x99'
當編碼為UTF-8時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.