werew33 发表于 2015-11-4 08:20:47

Python列表中包含中文时输出十六进制转中文的小方法

现象:列表中的中文打印出来后显示为十六进制

1
2
3
4
>>> lt=['大神','zhzhgo']
>>> print lt
['\xb4\xf3\xc9\xf1', 'zhzhgo']
>>>




首先需要明确,这不是乱码,这是 unicode 字符串在内存中的形式,python 在命令行界面输出的数据,如果不是ASCII码,则会以十六进制形式输出。
如何使打印出来的结果显示为中文呢?解决办法如下:

1
2
3
4
5
6
7
8
#-*-coding:utf-8-*-
lt=["大神",'zhzhgo']
str=','.join(lt) #将列表转换为字符串
print str
print type(str)
lt=list(str)
print lt
print type(lt)




打印结果如下:

大神,zhzhgo
<type 'str'>
['\xe5', '\xa4', '\xa7', '\xe7', '\xa5', '\x9e', ',', 'z', 'h', 'z', 'h', 'g', 'o']
<type 'list'>


页: [1]
查看完整版本: Python列表中包含中文时输出十六进制转中文的小方法