Python UnicodeDecodeError:ascii vs utf-8

时间:2015-03-05 20:21:00

标签: python unicode python-unicode

为什么以下代码仍然使用“ascii”来解码字符串。 我不是告诉python使用“utf-8”来解码字符串吗?加, 怎么来ignore不起作用?

print data.encode('utf-8', 'ignore')
  

UnicodeDecodeError:'ascii'编解码器无法解码12355位的字节0xc2:

1 个答案:

答案 0 :(得分:3)

我假设数据是str

print isinstance(data,str)

应该告诉你真的

encode想要一个unicode,所以首先尝试使用ascii编解码器decode你的str进行unicode

因此,为什么你得到UnicodeDecodeError而不是UnicodeEncodeError

print data.decode("utf-8","ignore")