DevToys Web Pro iconDevToys Web ProBlog
Bewerten Sie uns:
Browser-Erweiterung ausprobieren:

CBOR / MessagePack-Codec

Format:
Richtung:
Ausgabe:

JSON-Eingabe

  • Hex-Ausgabe

  • Technische Details

    Wie der CBOR- & MessagePack-Konverter funktioniert

    Was das Tool macht

    Dieses Tool kodiert JSON-Daten in die binären Formate CBOR (Concise Binary Object Representation) oder MessagePack und dekodiert binäre Payloads zurück in menschenlesbares JSON. Es zeigt die rohen Hex-Bytes neben der dekodierten Struktur an, sodass sich kompakte Binärkodierungen, die in ressourcenbeschränkten Umgebungen verwendet werden, leicht prüfen lassen. Beide Kodierungsrichtungen unterstützen verschachtelte Objekte, Arrays und Standard-JSON-Typen.

    Häufige Anwendungsfälle für Entwickler

    IoT-Entwickler nutzen dieses Tool, um CBOR-Payloads aus CoAP-Nachrichten oder COSE-signierten Tokens zu untersuchen, ohne Deserialisierungscode schreiben zu müssen. Backend-Engineers debuggen MessagePack-kodierte WebSocket-Frames, Redis-Protokollpuffer oder RPC-Payloads, indem sie Hex-Dumps einfügen und das dekodierte JSON anzeigen. Es ist außerdem nützlich, um Payload-Größen zwischen JSON, CBOR und MessagePack zu vergleichen, um das effizienteste Wire-Format für bandbreitenbeschränkte Systeme auszuwählen.

    Datenformate, Typen oder Varianten

    CBOR (RFC 8949) ist ein selbstbeschreibendes Binärformat, das für kleine Codegröße und kleine Nachrichtengröße entwickelt wurde und in IoT-Standards wie LwM2M und FIDO2/WebAuthn weit verbreitet ist. MessagePack ist eine ähnliche binäre Serialisierung, die so kompakt wie möglich sein soll und dabei schemafrei bleibt; sie wird häufig von Redis, Fluentd und vielen RPC-Frameworks verwendet. Beide Formate sind kompakter als JSON, verzichten jedoch zugunsten der Effizienz auf menschliche Lesbarkeit.

    Häufige Fallstricke und Sonderfälle

    CBOR unterstützt Datentypen, die JSON nicht nativ darstellen kann, wie Byte-Strings, Tags und Container mit unbestimmter Länge — beim Round-Trip durch JSON gehen Typinformationen verloren. MessagePack unterscheidet zwischen Rohbytes und UTF-8-Strings, was JSON zu einem einzigen String-Typ zusammenfasst. Die Integer-Präzision kann abweichen: Beide Formate unterstützen Ganzzahlen beliebiger Länge, aber beim Dekodieren in JavaScript kann jenseits von Number.MAX_SAFE_INTEGER Präzision verloren gehen.

    Wann dieses Tool statt Code verwenden

    Nutzen Sie dieses Browser-Tool für die ad-hoc Untersuchung binärer Payloads, die aus Netzwerkverkehr erfasst wurden, zum Debuggen von IoT-Gerätenachrichten oder zum schnellen Vergleichen von Kodierungsgrößen. Für die Serialisierung in Produktionscode verwenden Sie dedizierte Bibliotheken wie cbor2 (Python), cbor-x (Node.js) oder msgpack für Ihre Sprache, die Streaming, Schema-Validierung und korrektes Type-Mapping handhaben, das ein Browser-Tool nicht bieten kann.