原文链接: 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
扩展内容:
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。