设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 18370|回复: 2
打印 上一主题 下一主题

关于列表输出是乱码的问题,例如:['\xe4\xbd\xa0...

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2017-9-18 11:49:04 |只看该作者 |倒序浏览
常见情况:输出的文字里英文正常,中文是这样
['\xe4\xbd\xa0\xe5\xa5\xbd', '\xe4\xb8\x96\xe7\x95\x8c']

此情况通常发生在py2里.
这不是乱码,只是py2默认不会对列表、字典等结构中的中文字符进行解码,而是保留原始的字符形式。
如果要看中文,只需要对其遍历,或拿出其中具体的str对象,输出即可。输出str字符串时,会自动进行解码。
  1. In [1]: words = ['你好', '世界']

  2. In [2]: print words
  3. ['\xe4\xbd\xa0\xe5\xa5\xbd', '\xe4\xb8\x96\xe7\x95\x8c']

  4. In [3]: for w in words:
  5.    ...:     print w
  6. 你好
  7. 世界
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

24

积分

新手上路

Rank: 1

沙发
发表于 2017-9-19 21:44:36 |只看该作者
那么如果我把words里面的内容写入了.txt文件中,仍然显示是字符,如何才能在.txt文件中显示中文呢?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2017-9-19 23:55:24 |只看该作者
起不早的虫子 发表于 2017-9-19 21:44
那么如果我把words里面的内容写入了.txt文件中,仍然显示是字符,如何才能在.txt文件中显示中文呢? ...

一行行写或者writelines
具体情况具体分析。有可能是你传错了类型,也可能确实是编码没设对
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 09:57 , Processed in 0.027963 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部