b64encode函数的参数为byte类型,而python3中字符都为unicode编码,所以在进行base64编码前必须先转码。Base64生成的编码都是ascii字符。
import base64
s = 'nihao'
bs = (base64.b64encode(s.encode('utf-8'))) # 将字符为unicode编码转换为utf-8编码code = (base64.b64encode(s.encode('utf-8'))).decode('utf-8') #base64编码
print(bs) -》 b'bmloYW8='
print(code) -》 bmloYW8=
即实现base64编码与解码的方式为
import base64
s = 'abcdf'
code = (base64.b64encode(s.encode('utf-8')))
print(code) #我们只想要获得YWJjcjM0cjM0NHI=,而字符串被b’'包围了。b 表示 byte的意思,我们只要再将byte转换回去就好了
print(str(code,'utf-8')) #或者 print(code.decode())
a = base64.decodebytes(code) #解码
print(a.decode())