Python中使用codecs模块时的UnicodeDecodeError

0 投票
1 回答
690 浏览
提问于 2025-04-16 20:49

我有一个文本文件,里面包含一些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编码的。你需要找出它到底用什么编码,然后使用那个编码。

撰写回答