DevToys Web Pro iconDevToys Web ProBlog
Beoordeel ons:
Probeer de browserextensie:

CBOR / MessagePack-codec

Indeling:
Richting:
Uitvoer:

JSON-invoer

  • Hex-uitvoer

  • Technische details

    Hoe de CBOR- & MessagePack-converter werkt

    Wat de tool doet

    Deze tool codeert JSON-gegevens naar CBOR (Concise Binary Object Representation) of binaire MessagePack-indelingen, en decodeert binaire payloads terug naar leesbare JSON. Hij toont de ruwe hex-bytes naast de gedecodeerde structuur, waardoor het eenvoudig is om compacte binaire coderingen te inspecteren die in omgevingen met beperkte middelen worden gebruikt. Beide coderingsrichtingen ondersteunen geneste objecten, arrays en standaard JSON-typen.

    Veelvoorkomende use-cases voor ontwikkelaars

    IoT-ontwikkelaars gebruiken deze tool om CBOR-payloads uit CoAP-berichten of COSE-ondertekende tokens te inspecteren zonder deserialisatiecode te schrijven. Backend-engineers debuggen MessagePack-gecodeerde WebSocket-frames, Redis-protocolbuffers of RPC-payloads door hex-dumps te plakken en de gedecodeerde JSON te bekijken. Het is ook nuttig om payloadgroottes tussen JSON, CBOR en MessagePack te vergelijken om het meest efficiënte wire-format te kiezen voor systemen met beperkte bandbreedte.

    Gegevensformaten, typen of varianten

    CBOR (RFC 8949) is een zelfbeschrijvend binair formaat dat is ontworpen voor kleine codegrootte en kleine berichtgrootte, en breed wordt toegepast in IoT-standaarden zoals LwM2M en FIDO2/WebAuthn. MessagePack is een vergelijkbare binaire serialisatie die zo compact mogelijk wil zijn en toch schema-vrij blijft, en wordt vaak gebruikt door Redis, Fluentd en veel RPC-frameworks. Beide formaten zijn compacter dan JSON, maar leveren menselijke leesbaarheid in voor efficiëntie.

    Veelvoorkomende valkuilen en edge-cases

    CBOR ondersteunt gegevenstypen die JSON niet van nature kan weergeven, zoals byte-strings, tags en containers met onbepaalde lengte — het round-trippen hiervan via JSON verliest type-informatie. MessagePack maakt onderscheid tussen ruwe bytes en UTF-8-strings, wat JSON samenvoegt tot één enkel stringtype. De integerprecisie kan verschillen: beide formaten ondersteunen integers met willekeurige lengte, maar decoderen naar JavaScript kan precisie verliezen boven Number.MAX_SAFE_INTEGER.

    Wanneer je deze tool gebruikt vs code

    Gebruik deze browsertool voor ad-hoc inspectie van binaire payloads die uit netwerkverkeer zijn vastgelegd, het debuggen van IoT-apparaatberichten, of het snel vergelijken van coderingsgroottes. Voor productieserialisatie in applicatiecode gebruik je speciale libraries zoals cbor2 (Python), cbor-x (Node.js) of msgpack voor jouw taal, die streaming, schemavalidatie en correcte type-mapping afhandelen die een browsertool niet kan bieden.