我不斷收到此錯誤:exceptions.UnicodeDecodeError - 'ASCII' 編解碼器不能解碼字節
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
args = ('ascii', '\xe2\x9d\xb6 Senn =)', 0, 1, 'ordinal not in range(128)')
encoding = 'ascii'
end = 1
message = ''
object = '\xe2\x9d\xb6 Senn =)'
reason = 'ordinal not in range(128)'
start = 0
使用此代碼:
steamFriend = data['response']['players'][i]
n = steamUser(steamFriend['personaname'].encode("utf-8"), steamFriend['steamid'], steamFriend['avatarfull'], steamFriend['profileurl'], steamFriend['personastate'], False)
有些東西這裏要注意:
steamFriend
是一個JSON對象- 我只有時會得到這個錯誤,因爲beca使用
steamFriend['personaname']
包含一些奇怪的符號(例如❶),並且我不知道如何正確解析,因此我不會收到錯誤。
任何幫助,非常感謝。 另外,\xe2\x9d\xb6 Senn =)
應該代表❶ Senn =)
,如果有幫助。
在我的網頁抓取曾經有過類似的錯誤。該解決方案首先將字符串解碼爲ascii,然後編碼爲utf-8。或者也許相反... – 2014-12-11 04:31:10