1.字符集编码转换:utf-8/gbk等
(1)编码—将字符串转换为二进制的字节码
str.encode('编码类型')
(2)解码—将二进制的字节码转换为原数据
str.decode('解码类型')
注:
python3中字符串默认使用utf-8字符集,若不指定编解码类型,将默认使用utf-8
2.base64编解码:
python中base64模块不能直接对字符串编码,由于base64是来自于字符集转换后的字节码再次转换,所以python中使用base64函数进行编解码时,需要先将字符串转换为字节码,再对字节码进行base64转换。解码过程反之。
(1)编码
import base64
str=‘love’ #定义字符串str
byte_data=str.encode('utf-8') #将字符串转换为字节码
base64_data=base64.b64encode(byte_data) #对字节码进行base64编码
或者直接在字符串前加b,标示将字符串以默认编码方式编码后的字节码存储到变量
import base64
base64_data=base64.b64encode(b'love') #和上边代码等效
(2)解码
import base64
byte_data=base64.b64decode(base64_data) #对base64编码后的数据解码,结果为二进制字节码
str=byte_data.decode('utf-8') #将二进制字节码转换为字符串
补充:
①字符串前加b:
python3中,字符串默认为utf-8编码,在字符串前加b,比如str=b’hello world!’,表示str中存储的为utf-8转换后的字节码,而不是字符串。
②字符串前加u:
表示对后边所有内容都使用unicode进行编码,一般在中文前面加。