我有一些用UTF-8编码的文本。 '之前 - 之后。'它是从网上获取的。 ' - '性格是问题。如果您尝试直接从命令行打印,请使用复制和粘贴:
>>> text = 'Before – after.'
>>> print text
Before – after.
但是如果您保存到文本文件并尝试打印:
>>> for line in ('file.txt','r'):
>>> print line
Before û after.
我很确定这是某种UTF-8编码/解码错误,但它让我不知所措。我试图解码或重新编码,但也不是。
>>> for line in ('file.txt','r'):
>>> print line.decode('utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 7: invalid start byte
>>> for line in ('file.txt','r'):
>>> print line.encode('utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 7: invalid start byte
答案 0 :(得分:0)
它正在发生,因为无法编码或解码非ascii字符。您可以将其剥离,然后打印ascii值。 看看这个问题:UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte