Daten
Was ist CBOR?
CBOR (Concise Binary Object Representation) ist ein IETF-Standard zur binären Codierung von Datenelementen wie Zahlen, Zeichenfolgen, Arrays und Maps. Das Format zielt auf kompakte Implementierungen und Nachrichten und bleibt zugleich erweiterbar; auch JSON-ähnliche Daten lassen sich darstellen. CBOR ist kein Textformat und erfordert zum Lesen und Schreiben ein geeignetes Werkzeug oder eine Bibliothek.
Wann dieses Format geeignet ist
- JSON-ähnliche Daten kompakt binär darstellen
- Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen
Wann dieses Format ungeeignet ist
- Daten, die Menschen direkt als Text lesen und bearbeiten müssen
- CBOR-Profile oder Codierungsregeln ohne Vereinbarung zwischen den Gegenstellen mischen
Häufige Einsatzbereiche
- Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen
- Daten in COSE und IoT-Protokollen darstellen
Eigenschaften
- RFC 8949 definiert application/cbor und die Dateiendung .cbor
- Unterstützt Ganzzahlen, Gleitkommazahlen, Bytefolgen, Arrays und Maps
- Tags können Datumswerten oder anwendungsspezifischen Werten eine Bedeutung zuweisen
Vor- und Nachteile
Vorteile
- Die kompakte Codierung eignet sich für ressourcenbeschränkte Umgebungen
- Ein allgemeiner Decoder kann die Grundstruktur ohne vorher vereinbartes festes Schema lesen
Nachteile
- Binäre Inhalte sind im Texteditor schwer zu prüfen
- Gleiche Daten können unterschiedlich codiert sein; Signaturen und Hashes können deterministische Regeln erfordern
- Eine CBOR Sequence ist eine Verkettung mehrerer Elemente, kein einzelnes CBOR-Element, und verwendet einen anderen Medientyp
Öffnen und konvertieren
So öffnen Sie die Datei
Lesen 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.
So konvertieren Sie die Datei
Bei 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.
Hinweise
- Ein CBOR-Datenelement und eine CBOR Sequence sind verschieden. Bei verketteten Elementen muss der Empfänger die Sequenz nach RFC 8742 erwarten.
- Bedeutung der Tags und Anwendungsprofile richten sich nach der jeweiligen Protokolldefinition.
- application/cbor gilt für ein einzelnes CBOR-Datenelement. Prüfen Sie Framing und Inhalte anhand der Empfängerspezifikation.
Häufige Fragen
Ist CBOR ein Kompressionsformat?
Nein. CBOR codiert Datenstrukturen binär und ist kein allgemeiner Kompressionsalgorithmus.
Kann CBOR dieselben Daten wie JSON darstellen?
CBOR kann JSON-ähnliche Werte darstellen, bietet aber auch Bytefolgen und Tags, die JSON fehlen. Bei der Umwandlung muss deren Darstellung festgelegt werden.