foo=['abc','你好']python2.7下,printfoo中文显示的编码,必须要用下面的方式输出才能显示中文。forfinfoo:printfpython3.0以上没有这些问题。哪里有变化?有没有什么办法在2.7的情况下,我在输出list的时候直接输出的就是中文呢?
2 回答
烙印99
TA贡献1829条经验 获得超13个赞
Python3比2.x对unicode支持更好一些,但是楼主直接printfoo完全没有意义啊,这个只是象征性的print出foo序列化的结果,内部实现时可能也是遍历输出的。如果你要输出序列化结果,不如直接写个方法,性能应该也没差#!/usr/bin/python#-*-coding:utf-8-*-defprintSerilize(foo):print"[",forfinfoo:print"\'"+f+"\',",print"]",foo=['abc','你好']printSerilize(foo)
MM们
TA贡献1886条经验 获得超2个赞
py3k的字符串只有str和unicode(binary)和两种默认是utf8编码所以print一个list用到的str()也是用utf8解码py27需要各种decodeencode才能编码解码
添加回答
举报
0/150
提交
取消