DevToys Web Pro iconDevToys Web ProBlog
Valora'ns:
Prova l'extensió del navegador:

Còdec CBOR / MessagePack

Format:
Direcció:
Sortida:

Entrada JSON

  • Sortida hex

  • Detalls tècnics

    Com funciona el convertidor de CBOR i MessagePack

    Què fa l’eina

    Aquesta eina codifica dades JSON en formats binaris CBOR (Concise Binary Object Representation) o MessagePack, i descodifica càrregues binàries de nou a JSON llegible per humans. Mostra els bytes hexadecimals en brut al costat de l’estructura descodificada, cosa que facilita inspeccionar codificacions binàries compactes utilitzades en entorns amb recursos limitats. Ambdues direccions de codificació admeten objectes niats, matrius i tipus JSON estàndard.

    Casos d’ús habituals per a desenvolupadors

    Els desenvolupadors d’IoT utilitzen aquesta eina per inspeccionar càrregues CBOR de missatges CoAP o tokens signats amb COSE sense escriure codi de deserialització. Els enginyers de backend depuren trames WebSocket codificades en MessagePack, buffers de protocol de Redis o càrregues RPC enganxant bolcats hexadecimals i veient el JSON descodificat. També és útil per comparar la mida de les càrregues entre JSON, CBOR i MessagePack per triar el format de transmissió més eficient per a sistemes amb amplada de banda limitada.

    Formats, tipus o variants de dades

    CBOR (RFC 8949) és un format binari autodescriptiu dissenyat per a una mida de codi petita i una mida de missatge petita, àmpliament adoptat en estàndards d’IoT com LwM2M i FIDO2/WebAuthn. MessagePack és una serialització binària similar que pretén ser tan compacta com sigui possible tot mantenint-se sense esquema, i s’utilitza habitualment a Redis, Fluentd i molts frameworks d’RPC. Tots dos formats són més compactes que JSON, però sacrifiquen la llegibilitat humana per eficiència.

    Errors habituals i casos límit

    CBOR admet tipus de dades que JSON no pot representar de manera nativa, com ara cadenes de bytes, etiquetes i contenidors de longitud indefinida — fer un recorregut d’anada i tornada d’aquests a través de JSON farà que es perdi informació de tipus. MessagePack distingeix entre bytes en brut i cadenes UTF-8, cosa que JSON col·lapsa en un únic tipus de cadena. La precisió dels enters pot diferir: tots dos formats admeten enters de longitud arbitrària, però en descodificar-los a JavaScript es pot perdre precisió més enllà de Number.MAX_SAFE_INTEGER.

    Quan utilitzar aquesta eina vs codi

    Utilitza aquesta eina del navegador per a una inspecció ad-hoc de càrregues binàries capturades del trànsit de xarxa, per depurar missatges de dispositius IoT o per comparar ràpidament mides de codificació. Per a la serialització en producció dins del codi de l’aplicació, utilitza biblioteques dedicades com cbor2 (Python), cbor-x (Node.js) o msgpack per al teu llenguatge, que gestionen l’streaming, la validació d’esquemes i el mapatge correcte de tipus que una eina del navegador no pot oferir.