前言:对于很多python新手来说,中文的编码问题经常搞的人摸不着头脑。本篇文章主要介绍在输出字典(dict)或者列表(list)格式时,应该如何转换格式的问题。
字符串的编码转换跟字典和列表的编码转换是完全不同的!
如果直接对字典或者列表使用字符串的编码方式,比如这种str.encode("UTF-8"),会提示你字典或者列表不支持decode或者encode。
我在这上面就吃了亏,希望大家尤其是新手能够注意这一个重要的区别。
在python 下面一个包含中文字符串的列表(list)或字典,直接使用print会出现以下的结果:
>>> dict = {"asdf": "我们的python学习"}
>>> print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在输出处理好的数据结构的时候很不方便,需要使用以下方法进行输出:
>>> import json
>>> print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "我们的python学习"}
注意上面的两个参数
如果是字符串,直接输出或者
print str.encode("UTF-8")
对于其他的编码同样使用。赶快试试吧。
原文地址:http://blog.163.com/typhoon_1986/blog/static/67887780201183044250416