我有这些代码行:
zf = zipfile.ZipFile(self.temp_file, 'r')
data = zf.open('myfile.csv', mode='r')
result = [link for link in unicodecsv.DictReader(data)]
以下是异常代码:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc9 in position 13: invalid continuation byte
输入字符串是:
CAFÉ RESTAURANT
那么我做错了什么以及为什么unicodecsv
无法处理utf-8?
答案 0 :(得分:3)
这是因为您的输入不是 UTF-8,而是拉丁语-1(或类似)。在UTF-8中,É
被编码为2个字节:'\xc3\x89'
。该错误通知输入中满足\xc9
字节;这是在Latin-1或Win-1252代码页中的É
s编码。