Binärdaten in JSON-Zeichenfolge. Etwas besseres als Base64

DasJSON-Format nativ unterstützt keine binären Daten. Die Binärdaten müssen maskiert werden, damit sie in JSON in ein Zeichenfolgenelement (d. H. Null oder mehr Unicode-Zeichen in Anführungszeichen mit umgekehrten Schrägstrichen) eingefügt werden können.

Eine naheliegende Methode, um Binärdaten zu entkommen, ist die Verwendung von Base64. Base64 hat jedoch einen hohen Verarbeitungsaufwand. Außerdem werden 3 Bytes zu 4 Zeichen erweitert, was zu einer Erhöhung der Datengröße um ca. 33% führt.

Ein Anwendungsfall hierfür ist der v0.8-Entwurf derCDMI-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 zum Codieren von Binärdaten in JSON-Zeichenfolgen?

Antworten auf die Frage(16)

Ihre Antwort auf die Frage