python 内建模块--base64

对二进制数据进行处理,每3个字节一组,一共是3x8=24bit,划为4组,每组正好6个bit。Base64编码会把3字节的二进制数据编码为4字节的文本数据’

二进制数据不是3的倍数,最后不足3字节的x\00补足,在末尾加1个或2个字节,表示补了多少字节,解码时自动去掉

import base64
es = base64.b64encode(b'binary\x00string')
print(es)

ds = base64.b64decode(es)
print(ds)

#由于标准的Base64编码可能出现+或者/,在URL中不能直接作为参数,所以用URL safe的base64,即把+和/变成-和_
es1 = base64.b64decode(b'i\xb7\xld\xfb\xef\xff')
print(es1) #b'abcd++//'
es12 = base64.urlsafe_b64encode(b'i\xb7\xld\xfb\xef\xff')
print(es1) #b'abcd--__'
ds12 = base64.urlsafe_b64decode(es12)

#Base64是查表的编码方法,不能用于加密
#适用于小段内容的编码,比如数字证书签名,Cookie
#Base64编码后会把=去掉,解码时加上

你可能感兴趣的:(python 内建模块--base64)