带编解码器模块的Python中的UnicodeDecodeError

str*_*eek 0 python regex unicode

我有一个文本文件,其中包含unicode字符串"aBiyukÙwa","varcasÙva"等.当我尝试使用以下代码在python解释器中解码它们时,它工作正常并解码为u'aBiyuk\xd9wa':

"aBiyukÙwa".decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

但是当我使用codecs以下代码中的模块从python程序中的文件中读取它时,它会抛出一个UnicodeDecodeError.

file = codecs.open('/home/abehl/TokenOutput.wx', 'r', 'utf-8')
for row in file:
Run Code Online (Sandbox Code Playgroud)

以下是错误消息:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xd9 in position 8: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

是什么导致了这种奇怪的行为?

Ign*_*ams 5

您的文件未以UTF-8编码.找出它编码,然后使用.