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


现象:列表中的中文打印出来后显示为十六进制
 
>>> lt=['大神','zhzhgo']
>>> print lt
['\xb4\xf3\xc9\xf1', 'zhzhgo']
>>>

 

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

相关内容

    暂无相关文章

评论关闭