MM们
print出来就行了,否则你看到的就是原始的十六进制编码。类似的还有list和tuple的print,你会发现一样是这样。In [2]: lst = ['中文1', '中文2', '测试3']
In [3]: print lst
['\xe4\xb8\xad\xe6\x96\x871', '\xe4\xb8\xad\xe6\x96\x872', '\xe6\xb5\x8b\xe8\xaf\x953']
In [4]: print ' '.join(lst)
中文1 中文2 测试3这个不是BUG,显示也是正确的,这是python2的机制。如果你用的是python3,那么情况大不一样,python3强制unicode编码,直接预览list/tuple之类的看到的就是解码过的字符。fengyu@fengyu-pc ~ ipython3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
Type "copyright", "credits" or "license" for more information.
IPython 1.2.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: lst = ['中文1', 'English', '测试3']
In [2]: lst
Out[2]: ['中文1', 'English', '测试3']
In [3]: