Python3中的decode()和encode()函数

本文深入解析Python中字符串的编码与解码过程,详细介绍了如何使用encode与decode方法进行bytes与str类型的转换,强调了编码与解码方式的一致性对于避免乱码的重要性。

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

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘utf-8’),表示将utf-8编码的字符串转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘utf-8’),表示将unicode编码的字符串转换成utf-8编码。

下图是不同编码方式之间的转换图:
在这里插入图片描述

python字符串分为两种类型,一种是bytes类型,一种是str类型
bytes存储的是byte类型,即二进制类型
str类型(字符串)存储的是Unicode类型

1.字符串转byte,即编码
例子:
字符串为a=“我爱我家”

a="我爱我家"
#转成字节码
b = a.encode() #括号内不填的话默认为utf-8
print(b)
#输出内容
#\xe6\x88\x91\xe7\x88\xb1\xe6\x88\x91\xe5\xae\xb6

byte转字符串,即解码

a="我爱我家"
#转成字节码
b = a.encode() #括号内不填的话默认为utf-8
c = b.decode()     #括号内不填的话默认为utf-8
print(c)
#输出
#我爱我家


注意:编码和解码方式要一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值