所以我迷失在將unicode轉換爲utf-8的地方。我試圖定義一些包含unicode字符的JSON,並將它們寫入文件。打印到終端時,字符表示爲'\ u2606'。查看文件時,字符編碼爲'\ u2606',請注意雙反斜線。有人能指出我對這些編碼問題的正確方向嗎?Python編碼unicode <> utf-8
# encoding=utf8
import json
data = {"summary" : u"This is a unicode character: ☆"}
print data
decoded_data = unicode(data)
print decoded_data
with open('decoded_data.json', 'w') as outfile:
json.dump(decoded_data, outfile)
我嘗試添加下面的代碼片段到我的文件頭,但是這並沒有成功都不是。
import sys
import codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
sys.stderr = codecs.getwriter('utf8')(sys.stderr)
請你幫個忙,如果可能的話切換到Python 3 。在Python 2中,unicode和編碼數據的分離並不嚴格,這可能會隱藏編程錯誤。 – phobie
@phobie:^ **不好的建議...... *永遠不要*試圖「隱藏」編程錯誤,因爲不應該有任何錯誤。 –