Python错误集锦:使用bytes.decode()提示:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbd in position 0: invalid start byte

原文链接:http://www.juzicode.com/archives/4439

错误提示:

 bytes类型的数据使用decode()方法解码时提示:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbd in position 0: invalid start byte

#juzicode.com / vx:桔子code
a = '桔子code'
b = a.encode('gbk')
print('b:',b)
x = b.decode('utf8')
print('x:',x)
==========运行结果:
b: b'\xbd\xdb\xd7\xd3code'
-----------------------------------------------------------------------
UnicodeDecodeError                    Traceback (most recent call last)
 in 
      3 b = a.encode('gbk')
      4 print('b:',b)
----> 5 x = b.decode('utf8')
      6 print('x:',x)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbd in position 0: invalid start byte

 

错误原因:

1、变量b的编码方式是gbk,解码时却采用了utf8解码。

 

解决方法:

1、修改解码方式为gbk。

#juzicode.com / vx:桔子code
a = '桔子code'
b = a.encode('gbk')
print('b:',b)
x = b.decode('gbk')
print('x:',x)
==========运行结果:
b: b'\xbd\xdb\xd7\xd3code'
x: 桔子code

 

扩展内容:

  1.  Python基础教程4c–字符串str和字节序bytes
  2.  编码: 一个隐藏了30多年的bug,Windows含蓄说过某通不行?

 


 

关注微信公众号:“桔子code”,欢迎后台留言撩我,我会尽我所能为你解惑

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注