前言:對(duì)于很多python新手來說,中文的編碼問題經(jīng)常搞的人摸不著頭腦。本篇文章主要介紹在輸出字典(dict)或者列表(list)格式時(shí),應(yīng)該如何轉(zhuǎn)換格式的問題。
字符串的編碼轉(zhuǎn)換跟字典和列表的編碼轉(zhuǎn)換是完全不同的!
如果直接對(duì)字典或者列表使用字符串的編碼方式,比如這種str.encode("UTF-8"),會(huì)提示你字典或者列表不支持decode或者encode。
我在這上面就吃了虧,希望大家尤其是新手能夠注意這一個(gè)重要的區(qū)別。
在python 下面一個(gè)包含中文字符串的列表(list)或字典,直接使用print會(huì)出現(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)的時(shí)候很不方便,需要使用以下方法進(jìn)行輸出:
>>> import json
>>> print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "我們的python學(xué)習(xí)"}
注意上面的兩個(gè)參數(shù)
如果是字符串,直接輸出或者
print str.encode("UTF-8")
對(duì)于其他的編碼同樣使用。趕快試試吧。
原文地址:http://blog.163.com/typhoon_1986/blog/static/67887780201183044250416