知行编程网知行编程网  2022-11-11 10:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python编码和解码区别是什么?的相关知识,希望可以帮到处于编程学习途中的小伙伴

python编码和解码有什么区别?

python中的编码与解码的区别:

Encoding/encode:将Unicode字符串转换为特定编码格式对应的字节码的过程

解码/解码:将特定编码格式的字节码转换成对应的Unicode字符串的过程

示例:

In [43]: '美丽人生'.encode('gbk')
Out[43]: b'\xc3\xc0\xc0\xf6\xc8\xcb\xc9\xfa'

In [44]: b'\xc3\xc0\xc0\xf6\xc8\xcb\xc9\xfa'.decode('gbk')
Out[44]: '美丽人生'

In [45]: '美丽人生'.encode('utf-8')
Out[45]: b'\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7\x94\x9f'

In [46]: b'\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7\x94\x9f'.decode('utf-8')
Out[46]: '美丽人生'

In [47]: b'\xc3\xc0\xc0\xf6\xc8\xcb\xc9\xfa'.decode('gbk').encode('utf-8')
Out[47]: b'\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7\x94\x9f'

上面以 b 开头的类型是字节码,斜杠是字节。可以看出,一个普通汉字在GBK格式编码后占用2个字节,在UTF-8格式编码后占用3个字节。因为UTF-8编码也用于存储或传输,一个汉字占用的空间是3个字节。

字符串长度和字节码长度:

In [61]: len('美丽人生')
Out[61]: 4

In [62]: len(b'\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7\x94\x9f')
Out[62]: 12

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享