DevToys Web Pro iconDevToys Web ProBlog
Valutaci:
Prova l'estensione del browser:

Codec CBOR / MessagePack

Formato:
Direzione:
Output:

Input JSON

  • Output esadecimale

  • Dettagli tecnici

    Come funziona il convertitore CBOR e MessagePack

    Cosa fa lo strumento

    Questo strumento codifica dati JSON nei formati binari CBOR (Concise Binary Object Representation) o MessagePack e decodifica i payload binari in JSON leggibile. Mostra i byte esadecimali grezzi accanto alla struttura decodificata, rendendo semplice ispezionare codifiche binarie compatte usate in ambienti con risorse limitate. Entrambe le direzioni di codifica supportano oggetti annidati, array e i tipi JSON standard.

    Casi d’uso comuni per sviluppatori

    Gli sviluppatori IoT usano questo strumento per ispezionare payload CBOR provenienti da messaggi CoAP o token firmati COSE senza scrivere codice di deserializzazione. Gli ingegneri backend eseguono il debug di frame WebSocket codificati in MessagePack, buffer del protocollo Redis o payload RPC incollando dump esadecimali e visualizzando il JSON decodificato. È utile anche per confrontare le dimensioni dei payload tra JSON, CBOR e MessagePack, così da scegliere il formato di trasmissione più efficiente per sistemi con larghezza di banda limitata.

    Formati, tipi o varianti dei dati

    CBOR (RFC 8949) è un formato binario auto-descrittivo progettato per ridurre al minimo la dimensione del codice e dei messaggi, ampiamente adottato in standard IoT come LwM2M e FIDO2/WebAuthn. MessagePack è una serializzazione binaria simile che mira a essere il più compatta possibile pur rimanendo priva di schema, comunemente usata da Redis, Fluentd e molti framework RPC. Entrambi i formati sono più compatti di JSON, ma sacrificano la leggibilità umana in favore dell'efficienza.

    Errori comuni e casi limite

    CBOR supporta tipi di dati che JSON non può rappresentare nativamente, come stringhe di byte, tag e contenitori a lunghezza indefinita: farli passare avanti e indietro tramite JSON farà perdere informazioni di tipo. MessagePack distingue tra byte grezzi e stringhe UTF-8, che JSON riduce a un unico tipo di stringa. La precisione degli interi può differire: entrambi i formati supportano interi di lunghezza arbitraria, ma la decodifica in JavaScript può perdere precisione oltre Number.MAX_SAFE_INTEGER.

    Quando usare questo strumento rispetto al codice

    Usa questo strumento nel browser per un'ispezione ad hoc di payload binari catturati dal traffico di rete, per il debug di messaggi di dispositivi IoT o per confrontare rapidamente le dimensioni delle codifiche. Per la serializzazione in produzione nel codice dell'applicazione, usa librerie dedicate come cbor2 (Python), cbor-x (Node.js) o msgpack per il tuo linguaggio, che gestiscono streaming, validazione dello schema e una corretta mappatura dei tipi che uno strumento nel browser non può offrire.