gpt4 book ai didi

python - 如何通过post请求传递序列化的二进制数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:53 25 4
gpt4 key购买 nike

假设您希望使用 json mimetype 在 post 请求中与端点进行通信,以传递请求正文中的参数。

传入json的参数之一是binary更准确的bytes类型数据,假设来自pickle .dumps

如何创建一个有效的json,它将将此数据传递到端点,然后unpickle从可能某种字符串返回的二进制数据 返回到binary 数据,然后pickle.loads 返回到对象类型本身?

请指定一个简单的示例来演示

最佳答案

您需要将二进制数据编码为 JSON 可以使用的文本格式。标准方法是 base64 编码,可在 python 标准库中找到:

编码:

import base64

serialized_data = ... # this is the binary data to send
serialized_data_b64 = base64.b64encode(payload)

解码:

import base64

serialized_data_b64 = ... # this is the received data
serialized_data = base64.b64decode(serialized_data_b64)

如果您发送的数据非常大,您可能需要使用base-85编码,这将使编码的有效负载稍微小一些。然而,它在其他语言中的支持较少。有关详细信息,请参阅Python Documentation

使用base64.b85encodebase64.b85decode作为base-85编解码器

关于python - 如何通过post请求传递序列化的二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53925066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com