高效的JSON编码处理可能为二进制但常为文本的数据

1 投票
1 回答
743 浏览
提问于 2025-04-15 21:34

我需要通过网络发送一个包含任意文件内容的JSON数据包。这个文件可能是二进制文件(比如ZIP文件),但大多数情况下,它会是普通的ASCII文本。

我现在使用的是base64编码,这种编码可以处理所有文件,但它会显著增加数据的大小——即使文件本身就是ASCII格式的。有没有更有效的方法来编码这些数据,而不是手动检查是否有非ASCII字符,然后决定是否使用base64编码呢?

我现在是在用Python写这个,但可能还需要在Java、C#和C++中做同样的事情,所以一个容易移植的解决方案会更好。

1 个回答

2

使用“引用可打印”编码。任何编程语言都应该支持这种编码方式。你可以在这里了解更多:http://en.wikipedia.org/wiki/Quoted-printable

撰写回答