在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/