在Python 2.7中,我有以下代码:
# -*- coding: utf-8 -*-
from nltk.corpus import abc
with open("abc.txt","w") as f:
f.write(" ".join(i.words()))
然后我尝试在Python 3中读取此文档:
with open("abc.txt", 'r', encoding='utf-8') as f:
f.read()
只需获得:
File "C:\Python32\lib\codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 633096: invalid continuation byte
我到底做错了什么?Notepad++ 显示文档是 Unicode utf-8 格式,即使我试图使用 Notepad++ 将文档转换为此格式,在 Python 3 中仍然会出现此错误,这很奇怪,因为我可以读取许多其他 utf-8 编码的文档而没有任何问题。
od
会告诉我们该位置周围的字符是什么? - Ignacio Vazquez-Abrams