- json.dump() 用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件。
- json.loads() 用于将str类型的数据转成dict。
- json.load() 用于从json文件中读取数据。
- Base64编码是一种“防君子不防小人”的编码方式,优点:速度快,ascii字符,肉眼不可理解。
- base64.b64encode() 将bytes类型数据进行base64编码(变为字母加数字),返回编码后的bytes类型。
- base64.b64decode() 将base64编码的bytes类型进行解码,返回解码后的bytes类型。
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 在任何软件间可以在内存数据之间的交互,只能序列化常规的对象(列表 ,字典等)