python编程的list列表中包含中文输出16进制怎么解决?
python编程的list列表中包含中文输出16进制怎么解决?我的代码是这样写的:
s = ["woshi","china",1024,64]
s.append("你好")
s.append(",这里是中国最好的seo顾问")
print s
输出的结果是:
['woshi', 'china', 1024, 64, '\xe4\xbd\xa0\xe5\xa5\xbd', ',\xe8\xbf\x99\xe9\x87\x8c\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe6\x9c\x80\xe5\xa5\xbd\xe7\x9a\x84seo\xe9\xa1\xbe\xe9\x97\xae']
我用字符转换工具,还原这些字符其实就是上面的汉字,不知道这样的情况怎样解决?
# python编程的list列表中包含中文输出16进制的解决方法
'''
例子1:在list列表中默认包含了英文字符、数字、然后插入汉字
'''
s = ["woshi","china",1024,64] s.append("你好") s.append(",这里是中国最好的seo顾问") print s
# 以上结果输出的是['woshi', 'china', 1024, 64, '\xe4\xbd\xa0\xe5\xa5\xbd', ',\xe8\xbf\x99\xe9\x87\x8c\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe6\x9c\x80\xe5\xa5\xbd\xe7\x9a\x84seo\xe9\xa1\xbe\xe9\x97\xae']
# 我们不难发现,直接打印这个列表,可以正常输出字母和数字,但是遇到汉字的时候,就变成了16进制的东西,这个问题怎么解决呢?
'''
例子2:解决办法
'''
#解决方法其实很简单,我们先将列表转化为str,然后设置解码格式“string_escape”,代码如下,问题即可得到解决。
s = ["woshi","china",1024,64] s.append("你好") s.append(",这里是中国最好的seo顾问") print(str(s).decode('string_escape'))
#例子2的打印结果为['woshi', 'china', 1024, 64, '你好', ',这里是中国最好的seo顾问']