UnicodeDecodeError,无效的连续字节

UnicodeDecodeError,无效的连续字节

为什么下面的项目失败了?为什么它会成功使用“拉丁语-1”编解码器呢?

o = "a test of \xe9 char" #I want this to remain a string as this is what I am receivingv = o.decode("utf-8")

成果如下:

 Traceback (most recent call last):  
 File "<stdin>", line 1, in <module>  
 File "C:\Python27\lib\encodings\utf_8.py",
 line 16, in decode     return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError:
 'utf8' codec can't decode byte 0xe9 in position 10: invalid continuation byte


SMILET
浏览 727回答 3
3回答

翻阅古今

它是无效的UTF-8。该字符是ISO-Latin 1中的e-锐字符,这就是它成功使用该代码集的原因。如果您不知道您正在接收字符串的代码集,您将遇到一些麻烦。最好是为您的协议/应用程序选择单个代码集(希望是UTF-8),然后拒绝那些没有解码的代码集。如果你不能做到这一点,你将需要启发式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python