DevToys Web Pro iconDevToys Web ProBlogg
Betygsätt oss:
Prova webbläsartillägget:

CBOR / MessagePack-kodek

Format:
Riktning:
Utdata:

JSON-indata

  • Hex-utdata

  • Tekniska detaljer

    Hur CBOR- och MessagePack-konverteraren fungerar

    Vad verktyget gör

    Det här verktyget kodar JSON-data till binärformaten CBOR (Concise Binary Object Representation) eller MessagePack och avkodar binära nyttolaster tillbaka till läsbar JSON. Det visar de råa hex-bytena sida vid sida med den avkodade strukturen, vilket gör det enkelt att granska kompakta binärkodningar som används i resursbegränsade miljöer. Båda kodningsriktningarna stöder nästlade objekt, arrayer och standardtyper i JSON.

    Vanliga användningsfall för utvecklare

    IoT-utvecklare använder det här verktyget för att granska CBOR-nyttolaster från CoAP-meddelanden eller COSE-signerade token utan att skriva deserialiseringskod. Backendingenjörer felsöker MessagePack-kodade WebSocket-ramar, Redis-protokollbuffertar eller RPC-nyttolaster genom att klistra in hex-dumpar och visa den avkodade JSON:en. Det är också användbart för att jämföra nyttolaststorlekar mellan JSON, CBOR och MessagePack för att välja det mest effektiva överföringsformatet för bandbreddsbegränsade system.

    Dataformat, typer eller varianter

    CBOR (RFC 8949) är ett självbeskrivande binärformat utformat för liten kodstorlek och liten meddelandestorlek, och är brett antaget i IoT-standarder som LwM2M och FIDO2/WebAuthn. MessagePack är en liknande binär serialisering som strävar efter att vara så kompakt som möjligt samtidigt som den förblir schemalös, och används ofta av Redis, Fluentd och många RPC-ramverk. Båda formaten är mer kompakta än JSON men offrar mänsklig läsbarhet för effektivitet.

    Vanliga fallgropar och specialfall

    CBOR stöder datatyper som JSON inte kan representera direkt, såsom byte-strängar, taggar och behållare med obestämd längd — att rundtrippa dessa via JSON gör att typinformation går förlorad. MessagePack skiljer mellan råa byte och UTF-8-strängar, vilket JSON slår ihop till en enda strängtyp. Heltalsprecisionen kan skilja sig: båda formaten stöder heltal med godtycklig längd, men avkodning till JavaScript kan tappa precision bortom Number.MAX_SAFE_INTEGER.

    När du ska använda det här verktyget jämfört med kod

    Använd det här webbläsarverktyget för ad hoc-granskning av binära nyttolaster som fångats från nätverkstrafik, felsökning av IoT-enhetsmeddelanden eller för att snabbt jämföra kodningsstorlekar. För serialisering i produktion i applikationskod, använd dedikerade bibliotek som cbor2 (Python), cbor-x (Node.js) eller msgpack för ditt språk, som hanterar strömning, schemavalidering och korrekt typmappning som ett webbläsarverktyg inte kan erbjuda.