为了账号安全,请及时绑定邮箱和手机立即绑定

Python中字符集转换问题问题

Python中字符集转换问题问题

慕侠2389804 2018-07-17 12:14:33
如图,为什么最后 不能以中文显示呢?
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

print出来就行了,否则你看到的就是原始的十六进制编码。类似的还有list和tuple的print,你会发现一样是这样。

In [2]: lst = ['中文1', '中文2', '测试3']

In [3]: print lst
['\xe4\xb8\xad\xe6\x96\x871', '\xe4\xb8\xad\xe6\x96\x872', '\xe6\xb5\x8b\xe8\xaf\x953']

In [4]: print ' '.join(lst)
中文1 中文2 测试3

这个不是BUG,显示也是正确的,这是python2的机制。如果你用的是python3,那么情况大不一样,python3强制unicode编码,直接预览list/tuple之类的看到的就是解码过的字符。

fengyu@fengyu-pc  ~  ipython3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: lst = ['中文1', 'English', '测试3']

In [2]: lst
Out[2]: ['中文1', 'English', '测试3']

In [3]:


查看完整回答
反对 回复 2018-07-18
?
偶然的你

TA贡献1841条经验 获得超3个赞

Win8系统?

str1='中文'
print str1.decode('utf-8')


查看完整回答
反对 回复 2018-07-18
?
慕少森

TA贡献2019条经验 获得超9个赞

print str1.decode(utf8).encode('gbk'),其中utf8不定,要看实际的编码方式(先decode到unicode, 然后再encode到gbk

查看完整回答
反对 回复 2018-07-18
  • 3 回答
  • 0 关注
  • 426 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信