Python中使用codecs模块时的UnicodeDecodeError
我有一个文本文件,里面包含一些unicode字符串,比如“aBiyukÙwa”、“varcasÙva”等。当我在Python解释器中用以下代码解码它们时,一切正常,解码结果是 u'aBiyuk\xd9wa'
:
"aBiyukÙwa".decode("utf-8")
但是当我在Python程序中使用 codecs
模块从文件中读取这些字符串时,却出现了 UnicodeDecodeError
的错误。
file = codecs.open('/home/abehl/TokenOutput.wx', 'r', 'utf-8')
for row in file:
下面是错误信息:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd9 in position 8: invalid continuation byte
有没有人知道为什么会出现这种奇怪的情况?
1 个回答
5
你的文件不是用UTF-8编码的。你需要找出它到底用什么编码,然后使用那个编码。