我有一个如下所示的列表:
myList = [u'\u0442\u043e\u0432\u0447', u'\u0442\u043e\u0432\u0447']
然后我这样做了:
for x in myList:
print (x.encode('utf-8'))
所以我得到了:
'\xd1\x82\xd0\xbe\xd0\xb2\xd1\x87'
'\xd1\x82\xd0\xbe\xd0\xb2\xd1\x87'
我尝试了很多编码,解码标准。他们都没有帮助我。我怎样才能获得可读文本?
答案 0 :(得分:0)
您的字符串是一系列代码点。每个代码点都是固定符号。要将其转换为字节,请使用编码并为其提供编码(通常为utf-8)。要从字节中获取符号(即磁盘上的文件),您需要解码(您应该事先知道编码)。
使用print ' '.join([str(i) for i in myList])
答案 1 :(得分:0)
你的字符串已经是unicode(它们以u'
开头,\u....
部分是unicode代码点,python为你转换为unicode对象),所以你不需要对它们进行编码(你只编码str
)。
你只需要打印它们:
myList = [u'\u0442\u043e\u0432\u0447', u'\u0442\u043e\u0432\u0447']
for x in myList:
print(x)
如果您在打印export LC_ALL=utf-8
x
指定终端的字符集