Python编码encode()与解码decode()介绍与示例演示

本文详细介绍了计算机中字符编码的基本概念,包括位、字节、字符集等,并深入探讨了GBK、GB2312与UTF8之间的转换原理及方法。文章通过实例演示了如何使用Python进行编码与解码操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、编码与解码介绍

位:计算机最小的单位 二进制中的一位 用二进制的 0/1表示。
字节:八位组成一个字节。
字符:我们肉眼可见的文字与符号。
字符集:字符的集合。
编码:将字符转换成计算机可识别的0/1代码。
解码:将计算机表示的0/1编码转换成肉眼可见的字符。

2、GBK、GB2312与UTF8之间的转换

GBK、GB2312等和UTF8之间都必须通过Unicode编码才能相互转换:
    1、GBK、GB2312--Unicode--UTF8
    2、UTF8--Unicode--GBK、GB2312
    3、GBK,GB2312以及Unicode都既是字符集,也是编码方式,而UTF-8只是编码方式,并不是字符集。
    4、GBK编码中英文字符只占一个字节。

字符串通过编码转换为字节码 str--->(encode)--->bytes
字节码通过解码转换为字符串 bytes--->(decode)--->str

3、编码 encode()

把字符转化为计算机可以识别的字节码
str  --->(encode)--->bytes
name1 = "汤姆"
name2 = name1.encode('gbk')
name3 = name1.encode('utf-8')
name4 = name1.encode('GB2312')
print("编码:", name2)
print("编码:", name3)
print("编码:", name4)

# 输出:
# 编码: b'\xcc\xc0\xc4\xb7'
# 编码: b'\xe6\xb1\xa4\xe5\xa7\x86'
# 编码: b'\xcc\xc0\xc4\xb7'

4、解码 decode()

把计算机可识别的的字节码转化为字符
bytes--->(decode)--->str
注意:用什么编码方式就要用什么解码方法,否则会报错 UnicodeDecodeError
name2_1 = name2.decode("gbk")
name3_1 = name3.decode("utf-8")
name4_1 = name4.decode("GB2312")
print("解码:", name2_1)
print("解码:", name3_1)
print("解码:", name4_1)
# 输出:
# 解码: 汤姆
# 解码: 汤姆
# 解码: 汤姆
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢同学.

但行好事 莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值