2015-11-08 71 views
1

我正在使用名爲Wrapper.py(this)的程序,但存在某種類型的錯誤。因爲它是Python,我試圖找到這個錯誤。據我所知,錯誤在於它試圖編寫&加載一些JSON,但它接收這樣的字符串:「Közép-európainyelvezet」,或類似的東西。它導致的UnicodeDecodeError:Python JSON轉儲接續字符

>>>import json 
>>>out={"a":"Közép-európai nyelvterület"} 
>>>json.dumps(out) 
Tracebank(the path, etc.) 
UnicodeDecodeError: 'utf8' codec can't decode byte 0x94 in position 1: Invalid start byte 

然後我用Google搜索,&發現,編碼解決方案:

>>>a=json.dumps(out,ensure_ascii=False) 
>>>a 
'{"a":"K\x94z\x82p-eur\xarpai nyelvter\x81let"}' 

然後我想加載它:

>>>json.loads(a) 
Traceback, etc. 
UnicodeDecodeError: 'utf8' codec can't decode byte 0x94 in position 1: Invalid start byte 
>>>json.load(a,ensure_ascii=False) 
Traceback 
TypeError: __init__() got an unespected keyword argument: 'ensure_ascii' 

我如何可以加載我的數據回來了?

在此先感謝您的幫助!

回答

1

使用文本而不是字節串。

out = {u"a":u"Közép-európai nyelvterület"}