DevToys Web Pro iconDevToys Web ProBlogg
Vurder oss:
Prøv nettleserutvidelsen:

CBOR / MessagePack-kodek

Format:
Retning:
Utdata:

JSON-inndata

  • Hex-utdata

  • Tekniske detaljer

    Hvordan CBOR- og MessagePack-konverteren fungerer

    Hva verktøyet gjør

    Dette verktøyet koder JSON-data til CBOR (Concise Binary Object Representation) eller MessagePack-binærformater, og dekoder binære nyttelaster tilbake til lesbar JSON. Det viser de rå heksadesimale bytene ved siden av den dekodede strukturen, noe som gjør det enkelt å inspisere kompakte binærkodinger brukt i ressursbegrensede miljøer. Begge kodingsretninger støtter nestede objekter, arrayer og standard JSON-typer.

    Vanlige bruksområder for utviklere

    IoT-utviklere bruker dette verktøyet til å inspisere CBOR-nyttelaster fra CoAP-meldinger eller COSE-signerte tokens uten å skrive deserialiseringskode. Backend-ingeniører feilsøker MessagePack-kodede WebSocket-rammer, Redis-protokollbuffere eller RPC-nyttelaster ved å lime inn heks-dumper og se den dekodede JSON-en. Det er også nyttig for å sammenligne nyttelaststørrelser mellom JSON, CBOR og MessagePack for å velge det mest effektive overføringsformatet for båndbreddebegrensede systemer.

    Dataformater, typer eller varianter

    CBOR (RFC 8949) er et selvbeskrivende binærformat designet for liten kodestørrelse og liten meldingsstørrelse, og er bredt tatt i bruk i IoT-standarder som LwM2M og FIDO2/WebAuthn. MessagePack er en lignende binær serialisering som har som mål å være så kompakt som mulig samtidig som den forblir skjemafri, og brukes ofte av Redis, Fluentd og mange RPC-rammeverk. Begge formatene er mer kompakte enn JSON, men ofrer lesbarhet for effektivitet.

    Vanlige fallgruver og kanttilfeller

    CBOR støtter datatyper som JSON ikke kan representere direkte, som byte-strenger, tagger og beholdere med ubestemt lengde — å runde disse gjennom JSON vil føre til tap av typeinformasjon. MessagePack skiller mellom rå bytes og UTF-8-strenger, noe JSON slår sammen til én enkelt strengtype. Heltallspresisjon kan variere: begge formatene støtter heltall med vilkårlig lengde, men dekoding til JavaScript kan miste presisjon utover Number.MAX_SAFE_INTEGER.

    Når du bør bruke dette verktøyet vs. kode

    Bruk dette nettleserverktøyet for ad hoc-inspeksjon av binære nyttelaster fanget fra nettverkstrafikk, feilsøking av IoT-enhetsmeldinger eller rask sammenligning av kodingsstørrelser. For produksjonsserialisering i applikasjonskode, bruk dedikerte biblioteker som cbor2 (Python), cbor-x (Node.js) eller msgpack for språket ditt, som håndterer strømming, skjemavalidering og korrekt typetilordning som et nettleserverktøy ikke kan tilby.