import base64
import pickle
# 字典
dict1 = {
‘count‘: "count",
‘selected‘: True
}
def main():
# 转成bytes string
dict2 = pickle.dumps(dict1)
print(‘dumps:‘, dict2)
# base64 编码
encode_str = base64.b64encode(dict2)
print(‘b64encode:‘, encode_str)
print(‘b64后使用decode:‘, encode_str.decode())
print(‘b64后使用encode:‘, encode_str.decode().encode())
decode_str = base64.b64decode(encode_str)
loads_dict = pickle.loads(decode_str)
print(‘b64后使用b64decode():‘, decode_str)
print(‘b64后使用loads:‘, loads_dict)
if __name__ == ‘__main__‘:
main()
pickle 的用法类似于json
import json
import pickle
dict1 = {
‘count‘: "count",
‘selected‘: True
}
jsDumps = json.dumps(dict1)
pkDumps = pickle.dumps(dict1)
jsLoads = json.loads(jsDumps)
pkLoads = pickle.loads(pkDumps)
print(dict1)
print(type(dict1))
print(jsDumps)
print(type(jsDumps))
print(pkDumps)
print(type(pkDumps))
print(jsLoads)
print(type(jsLoads))
print(pkLoads)
print(type(pkLoads))
pickle 只能在python中用python文件间序列化,实现了两个python 内存数据的交互(可序列化任何对象(类,列表、字典等))
json 在任何软件间可以在内存数据之间的交互,只能序列化常规的对象(列表 ,字典等)

原文:https://www.cnblogs.com/liyiyi/p/11568811.html