Format Atlas

Vergleichen

CBOR vs. MessagePack

CBOR und MessagePack serialisieren JSON-ähnliche Werte binär. CBOR standardisiert Protokoll-Tags und deterministische Kodierungsregeln; MessagePack bietet kompakte Kodierung allgemeiner Objekte.

Welches Format sollten Sie wählen?

CBOR eignet sich für Protokolle mit IETF-standardisierten Tags oder deterministischer Kodierung. Wählen Sie MessagePack, wenn vorhandene Anwendungen und Bibliotheken wichtiger sind. Testen Sie Zahlenbereiche, Erweiterungen, Normalisierung und Implementierungsunterschiede.

Geeignet für CBOR

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

  • JSON-ähnliche Daten kompakt binär darstellen
  • Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen

Geeignet für MessagePack

JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen

  • JSON-artige Arrays, Maps und Grundwerte binär codieren
  • Erweiterungswerte und Zeitstempel zwischen kompatiblen Bibliotheken austauschen

Grundlegende Informationen

MerkmalCBORMessagePack
Dateiendung.cbor.msgpack, .mpk
MIME-Typapplication/cborapplication/octet-stream
Häufige VerwendungStrukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellenJSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen
ÖffnenLesen Sie die Datei mit einer CBOR-Bibliothek oder einem Decoder und prüfen Sie die Diagnose-Notation oder eine JSON-ähnliche Ansicht. Achten Sie auf Werte ohne direktes JSON-Gegenstück, etwa Tags und Bytefolgen.Lesen Sie die Datei mit einer MessagePack-fähigen Bibliothek oder einem Decoder. Zur Prüfung eignen sich Diagnose-Notation oder eine JSON-ähnliche Ansicht. Achten Sie darauf, wie Binärdaten und Erweiterungen angezeigt werden.
Exportieren oder konvertierenBei der Umwandlung in JSON benötigen Bytefolgen und getaggte Werte möglicherweise werkzeugspezifische Darstellungen. Beachten Sie bei Signaturen, Hashes oder Cache-Schlüsseln die vereinbarten Protokollregeln, etwa die deterministische Codierung nach RFC 8949.Bei einer Umwandlung in JSON benötigen Binärdaten und Erweiterungen möglicherweise Arrays, Zeichenfolgen oder werkzeugspezifische Hüllen, da Standard-JSON keine direkten Entsprechungen hat. Testen Sie für Hin- und Rückumwandlungen echte Werte, Zahlenbereiche, Zeitstempel, Map-Schlüssel und Erweiterungstypen.

Nach Einsatzzweck wählen

JSON-ähnliche Daten kompakt binär darstellen

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

CBOR

Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

CBOR

JSON-artige Arrays, Maps und Grundwerte binär codieren

JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen

MessagePack

Erweiterungswerte und Zeitstempel zwischen kompatiblen Bibliotheken austauschen

JSON-ähnliche Daten binär serialisieren · Strukturierte Daten zwischen kompatiblen Anwendungen austauschen

MessagePack

Wichtiger Punkt 1

CBOR definiert Ganzzahlen, Bytefolgen, Arrays, Maps und Tags in RFC 8949. MessagePack definiert Ganzzahlen, Zeichenfolgen, Binärdaten, Arrays, Maps und anwendungsspezifische Erweiterungstypen.

Unterschiede im Detail

Wichtiger Punkt 2

CBOR spezifiziert Anforderungen für deterministische Kodierung, etwa für konsistente Signaturen oder Hashes. Bei MessagePack muss eine Anwendung möglicherweise Schlüsselreihenfolge und Erweiterungskonventionen festlegen.

Unterschiede im Detail

Unterschiede im Detail

Wählen Sie nach Protokoll und Ökosystem, nicht nach der Annahme, ein Format sei immer kleiner oder schneller. Legen Sie Zuordnungen für Tags, Erweiterungen, Map-Schlüssel, Zahlen und optionale Werte fest und testen Sie reale Nutzdaten.

  • CBOR-Tags kennzeichnen die Semantik von Werten; RFC 8949 beschreibt deterministische Kodierungsregeln. MessagePack-Erweiterungen tragen anwendungsspezifische Typkennungen und Bytefolgen.
  • Auch bei ähnlichen Daten sind die Binärkodierungen verschieden. Ein Decoder für das eine Format kann nicht ohne Weiteres das andere lesen.
  • Eine Konvertierung kann Zahlenbreite, Schlüsseltyp, Tags oder Erweiterungswerte ändern. Definieren Sie Zuordnungen und testen Sie echte Implementierungen im Rundlauf.

Häufige Fragen

Sind CBOR und MessagePack binärkompatibel?

Nein. Kodierungen und Erweiterungsmodelle unterscheiden sich; erforderlich ist eine explizite Konvertierung oder eine gemeinsame Protokolldefinition.

Mehr erfahren

Quellen und Spezifikationen