簡體   English   中英

python中的Unicode編碼錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM