免费提问

python编程的list列表中包含中文输出16进制怎么解决?

144
提问者 张小花76
2019-11-16 08:20 悬赏 0财富值 阅读 2050回答 1

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
登录 后发表回答
whathefoxsay
1楼 · 2019-11-16 10:30.采纳回答

# 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顾问']



网站简介 | 竞价技巧 | 网站建设 | 原创作品 | 联系我们 |

鄂ICP备17013851号-4|经营许可证:鄂B2-20160818 |互联网药品信息服务资格证: 粤20130124|鄂公网安备:42010601000001|版权登记号:2016SR017186