Python,如何打印日文、韩文、中文字符串

标签 python string python-2.7 unicode

在Python中,对于日语、中文和韩语,Python无法打印正确的字符串,例如日语、韩语和中文中的hello是:

こんにちは
안녕하세요
你好

并打印这些字符串:

In [1]: f = open('test.txt')

In [2]: for _line in f.readlines():
   ...:     print(_line)
   ...:     
こんにちは

안녕하세요

你好


In [3]: f = open('test.txt')

In [4]: print(f.readlines())
[ '\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf\n', '\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94\n', '\xe4\xbd\xa0\xe5\xa5\xbd\n']

In [5]: a = '你好'

In [6]: a
Out[6]: '\xe4\xbd\xa0\xe5\xa5\xbd'

我的Python版本是2.7.11,操作系统是Ubuntu 14.04

如何处理这些'\xe4\xbd\xa0\xe5\xa5\xbd\n'字符串。

谢谢!

最佳答案

首先您需要将文本读取为 unicode

import codecs
f = codecs.open('test.txt','r','utf-8')

第二

当你打印时,你应该像这样编码

unicodeText.encode('utf-8')

第三

您应该确保您的控制台支持 unicode 显示

使用

print sys.getdefaultencoding()

如果没有 尝试一下

reload(sys)
sys.setdefaultencoding('utf-8')

关于Python,如何打印日文、韩文、中文字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58072637/

相关文章:

python - 修改 Twisted 的 FileSender() 以支持字节范围 header

python - 使用 pandas 为每个组创建一个组合 DataFrame

php - strpos 总是在 php 中返回 true

python - 在 Python 中提取列表元素

Python 使用不带标签的 beautifulsoup 打印抓取的数据

python - 如何简化我的 Python 程序?

python - _IO_FILE 的 Pybind11 文件指针包装器

java - 如何在java中声明多个数组列表

Java 解析字符串

java - 将 java 代码转换为 python,IDE 建议?