【发布时间】:2021-09-16 22:10:24
【问题描述】:
我使用 JSON 是因为它具有可读性并且作为 IPC 传输协议提供了灵活性。进程之间的部分交换是传输大型二进制文件 (MB) 的要求。
我使用 UDP 和 JSON 作为传输协议,在这种情况下,二进制数据被转换为没有分隔符的 HEX 字符串,因此使用单个 8 位字符来表示每个 4 位半字节。
我正在探索和寻找保留 JSON 协议的方法,但要找到一种更有效的方法来传输二进制十六进制数据。
这样做的原因是 UDP 数据包的大小有限,将每个半字节转换为一个字节会使位计数加倍,并随着数据大小加倍减慢传输速度。
谁能想到一种更好的方法,以 JSON 数据包的形式发送二进制数据而不会丢失任何东西?
【问题讨论】:
-
显而易见的选择是 base64,但也请阅读:stackoverflow.com/questions/1443158/…。