我有不同语言的字符串,主要是日语,当我尝试将它们打印为字符串时,它们显示正常。但是,当我将其中许多添加到python列表中,然后打印出列表时,它们显示为如下文本:xe9
例如:
string1 = "西野カナ- NO. 1"
string2 = "첫눈처럼 너에게 가겠다"
list1 = []
list1.append(string1)
list1.append(string2)
print list1
for item in list1:
print item
这两个版画会给我不同的输出:
['\xe8\xa5\xbf\xe9\x87\x8e\xe3\x82\xab\xe3\x83\x8a- NO. 1 NEW', '\xec\xb2\xab\xeb\x88\x88\xec\xb2\x98\xeb\x9f\xbc \xeb\x84\x88\xec\x97\x90\xea\xb2\x8c \xea\xb0\x80\xea\xb2\xa0\xeb\x8b\xa4']
西野カナ- NO. 1 NEW
첫눈처럼 너에게 가겠다
我如何获得列表以打印实际字符?
答案 0 :(得分:1)
实际上,当您打印列表或写入文件时,它会在内部调用str()
方法,并在内部列出对其元素调用repr()
。所以你看到repr()
返回。
print repr(string1)
'\xe8\xa5\xbf\xe9\x87\x8e\xe3\x82\xab\xe3\x83\x8a- NO. 1'
真的很沮丧。所以如果你想避免编码问题,你应该开始认真考虑切换到Python3。