CoderTools

Codec CBOR

Codificar y decodificar formato de datos binarios CBOR

🔒 100% Procesamiento localLos datos que introduce se procesan completamente en su navegador. No se envían a ningún servidor.

Pegue datos CBOR de capturas de red, dispositivos IoT o respuestas API

Datos de ejemplo

Resultado decodificado

Ingrese datos CBOR y haga clic en Decodificar para ver los resultados

Referencia de tipos de datos CBOR

Tipo mayor Nombre del tipo Bytes de encabezado Descripción
0Entero sin signo0x00-0x1BEnteros no negativos de 0 a 2^64-1
1Entero negativo0x20-0x3BEnteros negativos de -1 a -2^64
2Cadena de bytes0x40-0x5BDatos binarios crudos de longitud arbitraria
3Cadena de texto0x60-0x7BCadenas de texto codificadas en UTF-8
4Array0x80-0x9BColección ordenada de elementos de datos
5Map0xA0-0xBBPares clave-valor (objeto)
6Tag0xC0-0xDBEtiqueta semántica para tipos extendidos
7Simple/Flotante0xE0-0xFBBooleano, null, undefined y números de punto flotante

Documentación del protocolo CBOR

¿Qué es CBOR?

CBOR (Concise Binary Object Representation) es un formato de serialización de datos binarios definido en RFC 8949. Diseñado como una alternativa compacta a JSON, CBOR codifica datos estructurados en formato binario eficiente manteniendo la compatibilidad con el modelo de datos JSON. El formato es auto-descriptivo, lo que significa que los decodificadores pueden analizar datos sin definiciones de esquema externas. CBOR fue diseñado específicamente para entornos restringidos como dispositivos IoT y sistemas embebidos donde el ancho de banda y la potencia de procesamiento son recursos limitados.

Estructura de codificación binaria

Cada elemento de datos CBOR comienza con un solo byte que contiene dos campos: el tipo mayor (3 bits) e información adicional (5 bits). El tipo mayor determina la categoría de datos (entero, cadena, array, etc.), mientras que la información adicional indica la longitud del argumento o contiene valores pequeños directamente. Este diseño de encabezado compacto significa que valores simples como enteros pequeños solo requieren un byte.

Info adicional Significado
0-23Valor codificado directamente (0-23)
24Sigue 1 byte sin signo
25Siguen 2 bytes sin signo (big-endian)
26Siguen 4 bytes sin signo (big-endian)
27Siguen 8 bytes sin signo (big-endian)
31Longitud indefinida (para cadenas, arrays, maps)

Opciones de codificación de longitud del contenedor

CBOR proporciona flexibilidad en cómo se codifican las longitudes de contenedores (arrays y maps). Aunque todas las codificaciones válidas producen datos semánticamente idénticos, la representación binaria difiere. Esta herramienta ofrece cuatro modos de codificación para diferentes requisitos del sistema.

Ejemplo de codificación: {"name":"Alice","age":30}

El mismo objeto JSON puede codificarse de múltiples formas válidas:

Modo Bytes de cabecera Descripción
CompactA2 ...0xA2 = fixmap(2), codificación mínima
Explicit 16-bitB9 00 02 ...0xB9 = map16, sigue longitud de 2 bytes
Explicit 32-bitBA 00 00 00 02 ...0xBA = map32, sigue longitud de 4 bytes
IndefiniteBF ... FF0xBF = map indefinido, termina con 0xFF

Las cuatro codificaciones decodifican a JSON idéntico. Elija compacto para eficiencia de tamaño, longitudes explícitas para compatibilidad de protocolo, o indefinido para escenarios de streaming.

Comparación CBOR vs JSON

Ambos formatos representan el mismo modelo de datos lógico pero sirven propósitos diferentes. CBOR prioriza la codificación compacta y la eficiencia de procesamiento, mientras que JSON enfatiza la legibilidad humana y la interoperabilidad universal basada en texto.

Ventajas de CBOR
  • Tamaño codificado más pequeño (30-50% típicamente)
  • Soporte nativo de datos binarios
  • Análisis y codificación más rápidos
  • Tags semánticos integrados para fechas, URIs, etc.
Ventajas de JSON
  • Legible y editable por humanos
  • Soporte universal navegador/lenguaje
  • Depuración y registro más fáciles

Aplicaciones comunes

  • Comunicación de dispositivos IoT y transmisión de datos de sensores
  • Protocolos de autenticación WebAuthn/FIDO2
  • Seguridad COSE (firma y cifrado de objetos CBOR)
  • Mensajería CoAP (protocolo de aplicación restringida)
  • Configuración y almacenamiento de datos de sistemas embebidos

Tags semánticos

Los tags CBOR proporcionan significado semántico a los elementos de datos. Los tags son envoltorios opcionales que indican cómo debe interpretarse el valor encapsulado, permitiendo extensiones de tipo más allá de los tipos de datos básicos.

Número de tag Significado semántico
0Cadena de fecha/hora estándar (RFC 3339)
1Fecha/hora basada en época (timestamp Unix)
2Número positivo grande
3Número negativo grande
32Referencia URI
55799CBOR auto-descriptivo (número mágico)

Menú Rápido

Sin herramientas recientes