从文件中读取和写入UTF-8

时间:2017-04-30 15:19:51

标签: python-2.7 utf-8

我有一些用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

1 个答案:

答案 0 :(得分:0)

它正在发生,因为无法编码或解码非ascii字符。您可以将其剥离,然后打印ascii值。 看看这个问题:UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte