前言:對于很多python新手來說直砂,中文的編碼問題經(jīng)常搞的人摸不著頭腦妨托。本篇文章主要介紹在輸出字典(dict)或者列表(list)格式時速那,應(yīng)該如何轉(zhuǎn)換格式的問題蚊俺。
字符串的編碼轉(zhuǎn)換跟字典和列表的編碼轉(zhuǎn)換是完全不同的!
如果直接對字典或者列表使用字符串的編碼方式蔽莱,比如這種str.encode("UTF-8")弟疆,會提示你字典或者列表不支持decode或者encode。
我在這上面就吃了虧盗冷,希望大家尤其是新手能夠注意這一個重要的區(qū)別怠苔。
在python 下面一個包含中文字符串的列表(list)或字典,直接使用print會出現(xiàn)以下的結(jié)果:
>>> dict = {"asdf": "我們的python學(xué)習(xí)"}
>>> print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在輸出處理好的數(shù)據(jù)結(jié)構(gòu)的時候很不方便仪糖,需要使用以下方法進行輸出:
>>> import json
>>> print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "我們的python學(xué)習(xí)"}
注意上面的兩個參數(shù)
如果是字符串柑司,直接輸出或者
print str.encode("UTF-8")
對于其他的編碼同樣使用。趕快試試吧锅劝。
原文地址:http://blog.163.com/typhoon_1986/blog/static/67887780201183044250416