现象:列表中的中文打印出来后显示为十六进制
>>> 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‘>
本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1709429
原文地址:http://zhzhgo.blog.51cto.com/10497096/1709429