CBOR
CBOR (Concise Binary Object Representation) es una forma binaria de JSON, normalizada en el RFC 8949, más compacta y con más tipos de datos.
Propósito
Proporcionar una codificación binaria más compacta que JSON para escenarios con restricciones de ancho de banda y almacenamiento.
Mecanismo
Cada elemento de datos comienza con un byte de etiqueta: los 3 bits altos dan el tipo principal (0-7) y los 5 bits bajos la información adicional. Los tipos principales 0-2 son enteros sin signo, enteros negativos y cadenas de bytes; 3 es una cadena de texto; 4-5 son arrays y mapas; 6 son etiquetas (marcado semántico); 7 son floats y valores simples. Las etiquetas de extensión admiten fechas, URLs, bignums y más.
Casos de uso
- Protocolo IoT CoAP
- Datos de credenciales WebAuthn
- IPLD (el modelo de datos de IPFS)
- Transporte de datos de sensores
Ejemplos
- entrada
{"a":1}OutputA1 61 61 01CBOR encoding of a one-pair map
Errores comunes
- Confusing CBOR and MessagePack encoding details
- They differ; parse with each specification
Términos relacionados
JSON
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en los literales de objeto de JavaScript, usando pares clave-valor y arrays. GLOSARIO
MessagePack
MessagePack es un formato eficiente de serialización binaria, similar a JSON pero más compacto, con soporte multilenguaje, usado para RPC y caché. GLOSARIO
Protocol Buffers
Protocol Buffers es el formato de serialización binaria neutro respecto al lenguaje de Google; requiere un esquema .proto y es más compacto y con más seguridad de tipos que JSON/XML. GLOSARIO
Herramientas relacionadas
Decodificador CBOR
CBOR Decode — herramienta 100% del lado del cliente. Decodifica binario CBOR real (RFC 8949; entrada hex o base64 detectada automáticamente) a JSON formateado. Cubre los major types 0-7: todos los enteros, cadenas de bytes/texto (incl. de longitud indefinida), arrays, maps, tags (bignum, fechas, URIs), valores simple, flotantes half/single/double. Privacidad primero, sin round-trip al servidor. HERRAMIENTA
Codificador CBOR
CBOR Encode — herramienta 100% del lado del cliente. Codifica JSON a binario CBOR real (RFC 8949), compatible a nivel de bytes, con codificación determinista (§4.2.1: formas enteras/flotantes más cortas, claves de map ordenadas primero por longitud y luego por bytes). Cadenas de bytes, tags, bignums y valores simple mediante convenciones $bytes/$tag/$bignum/$simple. Salida hex (predeterminado) o base64. Privacidad primero, sin round-trip al servidor. HERRAMIENTA