Python-“ascii”编解码器无法解码字节

我真的很困惑。我试图编码,但错误是无法解码…

&gt&燃气轮机&燃气轮机;"你好".编码(“utf8”)
回溯(最近一次呼叫最后一次):
文件“<stdin>“,第1行,在<模块>
UnicodeDecodeError:“ascii”编解码器无法解码位置0中的字节0xe4:序号不在范围内(128)

我知道如何避免字符串上带有“u”前缀的错误。我只是想知道为什么调用encode时会出现“无法解码”的错误。Python在幕后做什么

”你好“.encode('utf-8')

encode将unicode对象转换为string对象。但是这里您在string对象上调用了它(因为您没有u)。因此python必须首先将string转换为unicode对象。因此它执行了与

”你好“.decode().encode('utf-8')

但是解码失败,因为字符串不是有效的ascii码。这就是为什么你会收到无法解码的投诉

发表评论