python2中列表、字典输出中文乱码(\xe6\x81转中文)

\xe6\x8转中文:
方法1:
# -*- coding: utf-8 -*-
a='\xe6\x81\xb6\xe6\x84\x8f\xe8\xbd\xaf\xe4\xbb\xb6' #str类型
print(a.encode("raw_unicode_escape").decode("utf-8"))  #恶意软件


方法2:
>>> a='\xe6\x81\xb6\xe6\x84\x8f\xe8\xbd\xaf\xe4\xbb\xb6'
>>> bb=json.dumps(a, encoding="UTF-8", ensure_ascii=False)
>>> print(bb)
"恶意软件"

方法3:
https://pypi.org/project/uniout/ import uniout解决print中文的问题
unicode:它使Python以可读字符而不是转义字符串打印对象表示。
>>> import uniout
>>> a='\xe6\x81\xb6\xe6\x84\x8f\xe8\xbd\xaf\xe4\xbb\xb6'
>>> print(a)
恶意软件

 

 
python2中列表,字典输出中文乱码:
python3中可正常显示中文
>>> list = [{'name': '张三'}]                                                                 
>>> list
[{'name': '张三'}]  
>>> print(list)
[{'name': '张三'}]                                                                                                                                                                                                   
>>> dict = {'name': '张三'} 
>>> dict                                                                
{'name': '张三'}    
>>> print(dict)                                                                         
{'name': '张三'}  




python2中输出乱码
>>> list = [{'name': '张三'}]
>>> list
[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]
>>> print(list)
[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]


>>> dict = {'name': '张三'}
>>> dict
{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}
>>> print(dict)
{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}


python2中解决输出乱码问题:
>>> import json
>>> list=[{'name': '张三'}]
>>> list
[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]
>>> b=json.dumps(list, encoding="UTF-8", ensure_ascii=False)
>>> b
u'[{"name": "\u5f20\u4e09"}]'
>>> print(b)
[{"name": "张三"}]



>>> import json
>>> dict = {'name': '张三'}
>>> dict
{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}
>>> b=json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
>>> b
u'{"name": "\u5f20\u4e09"}'
>>> print(b)
{"name": "张三"}


>>> list = [{'name': '张三'}]
>>> list
[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]
>>> import uniout
>>> list
[{'name': '张三'}]

 

你可能感兴趣的:(python,python2乱码)