Python错误集锦:bytes类型变量decode()结果显示乱码

原文链接: http://www.juzicode.com/python-error-bytes-decode-wrong/

错误提示:

 变量a包含中文,以utf8方式编码后的变量b为bytes类型,bytes类型数据按照gbk方式decode后显示乱码:

#juzicode.com / vx:桔子code
a = '桔子code'
b = a.encode('utf8')
print('b:',b)
x = b.decode('gbk')
print('x:',x)
==========运行结果:
b: b'\xe6\xa1\x94\xe5\xad\x90code'
x: 妗斿瓙code

 

 

错误原因:

1、字符串以utf8方式编码,但是以gbk方式解码,导致该错误。

 

解决方法:

1、str类型的编码和bytes类型的解码方式要保持一致:

#juzicode.com / vx:桔子code
a = '桔子code'
b = a.encode('utf8')
print('b:',b)
x = b.decode('utf8')
print('x:',x)
==========运行结果:
b: b'\xe6\xa1\x94\xe5\xad\x90code' 
x: 桔子code

 

扩展内容:

  1.  Python基础教程4c–字符串str和字节序bytes

 


 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

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