CBOR / MessagePack-kodek
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.