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)
#输出
#我爱我家
注意:编码和解码方式要一致