Còdec CBOR / MessagePack
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.