我的服务器将通过套接字向另一台客户端计算机发送一个序列化为字符串的 JSON。我将使用我的最终 json 并执行此操作:
import json
python_dict_obj = { "id" : 1001, "name" : "something", "file" : <???> }
serialized_json_str = json.dumps(python_dict_obj)
我想让我的 JSON 中的一个字段的值是一个文件,编码为一个字符串。
性能方面(但也是互操作性方面)使用 python 编码文件的最佳方法是什么?Base64?二进制?只是原始字符串文本?
编辑 - 对于那些建议 base64,是这样的吗?
# get file
import base64
import json
with open(filename, 'r') as f:
filecontents = f.read()
encoded = base64.b64encode(filecontents)
python_dict_obj['file'] = encoded
serialized_json_str = json.dumps(python_dict_obj)
# ... sent to client via socket
# decrpyting
json_again = json.loads(serialized)
filecontents_again = base64.b64decode(json_again['file'])