Das JSON-Format unterstützt nativ keine Binärdaten. Die Binärdaten müssen maskiert werden, damit sie in JSON in ein Zeichenfolgenelement (dh null oder mehr Unicode-Zeichen in doppelten Anführungszeichen mit umgekehrten Schrägstrichen) eingefügt werden können.
Eine naheliegende Methode, um Binärdaten zu umgehen, ist die Verwendung von Base64. Base64 hat jedoch einen hohen Verarbeitungsaufwand. Außerdem werden 3 Bytes in 4 Zeichen erweitert, was zu einer Erhöhung der Datengröße um etwa 33% führt.
Ein Anwendungsfall hierfür ist der Entwurf v0.8 der CDMI-Cloud-Speicher-API-Spezifikation . Sie erstellen Datenobjekte über einen REST-Webservice mit JSON, z
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=",
}
Gibt es bessere Möglichkeiten und Standardmethoden, um Binärdaten in JSON-Zeichenfolgen zu codieren?
JSON.parse
. B. usw. ......