java json转二进制数据_JSON字符串中的二进制数据 比Base64好些

JSON format本身不支持二进制数据。二进制数据必须进行转义,以便可以将其放入JSON中的字符串元素(即使用反斜杠转义的双引号中的零个或多个Unicode字符)。

一个明显的方法来逃避二进制数据是使用Base64。但是,Base64具有很高的处理开销。此外,它将3个字节扩展为4个字符,这导致数据大小增加了大约33%。

这种情况的一个用例是CDMI cloud storage API specification的v0.8草稿。通过REST-Webservice使用JSON创建数据对象,例如。

PUT /MyContainer/BinaryObject HTTP/1.1

Host: cloud.example.com

Accept: application/vnd.org.snia.cdmi.dataobject+json

Content-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字符串?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值