JSON字符串中的二进制数据。比BASE 64更好的东西
这个JSON格式本机不支持二进制数据。必须转义二进制数据,以便在JSON中将其放入字符串元素(即使用反斜杠转义的双引号中为零或多个Unicode字符)。
转义二进制数据的一个明显方法是使用base 64。然而,base 64具有较高的处理开销。此外,它还将3个字节扩展为4个字符,从而使数据大小增加了大约33%。
这方面的一个用例是CDMI云存储API规范..您可以使用JSON通过REST-Webservice创建数据对象。PUT /MyContainer/BinaryObject HTTP/1.1Host: cloud.example.comAccept: application/vnd.org.snia.cdmi.dataobject+jsonContent-Type:
application/vnd.org.snia.cdmi.dataobject+json
X-CDMI-Specification-Version: 1.0{
"mimetype" : "application/octet-stream",
"metadata" : [ ],
"value" : "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=",}
是否有更好的方法和标准方法将二进制数据编码为JSON字符串?