高效的JSON编码处理可能为二进制但常为文本的数据
我需要通过网络发送一个包含任意文件内容的JSON数据包。这个文件可能是二进制文件(比如ZIP文件),但大多数情况下,它会是普通的ASCII文本。
我现在使用的是base64编码,这种编码可以处理所有文件,但它会显著增加数据的大小——即使文件本身就是ASCII格式的。有没有更有效的方法来编码这些数据,而不是手动检查是否有非ASCII字符,然后决定是否使用base64编码呢?
我现在是在用Python写这个,但可能还需要在Java、C#和C++中做同样的事情,所以一个容易移植的解决方案会更好。