VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • base64编码和解码

base64 可以把字符串编码成base64的编码格式:(大小写字母,数字和 =)

eyJzdWIiOiAiMTIzNDU2Nzg5MCIsICJuYW1lIjogImxxeiIsICJhZG1pbiI6IHRydWV9

base64可以把base64编码的字符串,解码回原来的格式

应用场景:

jwt中使用
网络中传输字符串就可以使用base64编码
网络中传输图片,也可能使用base64的编码

编码过程

import json
import base64

d = {'name': 'zxr', 'userid': 1, 'age': 18}
info = json.dumps(d)
# print(info)  # {"name": "zxr", "userid": 1, "age": 18}

# 把字符串转成bytes格式的俩种方式
# 第一种:info.encode('utf-8')
# res = base64.b64encode(info.encode('utf-8'))
# print(res)  # b'eyJuYW1lIjogInp4ciIsICJ1c2VyaWQiOiAxLCAiYWdlIjogMTh9'

# 第二种:强转
print(bytes(info, encoding='utf-8'))  # b'{"name": "zxr", "userid": 1, "age": 18}'

解码过程

import json
import base64

d = {'name': 'zxr', 'userid': 1, 'age': 18}
info = json.dumps(d)
b'eyJuYW1lIjogInp4ciIsICJ1c2VyaWQiOiAxLCAiYWdlIjogMTh9'

res = base64.b64decode('eyJuYW1lIjogInp4ciIsICJ1c2VyaWQiOiAxLCAiYWdlIjogMTh9')
print(res)  # b'{"name": "zxr", "userid": 1, "age": 18}'

将图片保存起来

import json
import base64
d = {'name': 'lqz', 'userid': 6, 'age': 19}
info = json.dumps(d)
print(info)
# 把字符串使用base64编码
res=base64.b64encode(info.encode('utf-8'))
print(res)  # eyJuYW1lIjogImxxeiIsICJ1c2VyaWQiOiA2LCAiYWdlIjogMTl9
res=base64.b64decode(s)
with open('code.png','wb') as f:
    f.write(res)
 


相关教程