Python:如何打印UTF-8字符?

标签 python python-2.7 printing utf-8

我已经尝试了几个小时来解决 Python 2.7.6 中的这个 UTF-8 问题。

我有一个包含 UTF-8 字符的字符串列表,如下所示:

findings=['Quimica Geral e Tecnol\xf3gica I', 'Quimica Geral e Tecnol\xf3gica II', '\xc1lgebra Linear']

我正在尝试打印字符串:

for finding in findings:
      print finding

输出为:

Quimica Geral e Tecnolgica I
Quimica Geral e Tecnolgica II
lgebra Linear

我也尝试过这个:

for finding in findings:
      print( "%s"%(finding))

我得到了相同的输出。

如果我尝试保存在文件中:

file = open("teste.txt", "w")
for finding in findings:
  file.write("%s\n" % finding)
file.close()  

它可以工作,输出是(请注意拉丁字符 - 重音符号):

Quimica Geral e Tecnológica I
Quimica Geral e Tecnológica II
Álgebra Linear

我做错了什么?

最佳答案

您需要使用 unicode 函数将字符串转换为 unicode 并使用 unicode-escape (生成一个适合作为 Python 源代码中的 Unicode 文字的字符串)作为您的编码:

>>> for i in findings :
...    print unicode(i,'unicode-escape')
... 
 Quimica Geral e Tecnológica I
 Quimica Geral e Tecnológica II
 Álgebra Linear

添加:I/O 系统构建为一系列层,当您打开文件进行写入时,请使用 io.TextIOWrapper 层,该层是一个对 Unicode 进行编码和解码的文本处理层自动地 。

关于Python:如何打印UTF-8字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27784766/

相关文章:

Java打印页面

python - 在nltk bigraph的python中转换计数器列表

python - 如果数组包含 2 或 3,则返回 True

python - Flask validate_on_submit 始终为 False

python - 使用一个 C 程序运行 python 脚本(不同的 python 版本)

python - 从dicts中删除元素时首选del还是pop

java:打印JFrame的内容

javascript - 是否可以使用 node.js 打印图像?

java - 寻找数组中最长的几何级数

python - 在 Python pandas 中拆分列