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é.
Propósito
Proporcionar una serialización más pequeña y rápida que JSON para RPC y caché de alto rendimiento.
Mecanismo
Un marcador de tipo de un byte distingue nil, bool, enteros, flotantes, cadenas, arrays de bytes, arrays y mapas. Los enteros positivos/negativos pequeños usan un fixint de un byte; las cadenas cortas usan fixstr. No es autodescriptivo (se necesita un esquema o convención) pero es más compacto que JSON.
Casos de uso
- Valores serializados en Redis
- RPC con Thrift/MsgPack
- Comunicación de servidores de juegos
- Intercambio de datos en sistemas empotrados
Ejemplos
- entrada
{"a":1}Output81 a1 61 01A map with one pair
Errores comunes
- The lack of a schema causes cross-language type mismatches
- Use an IDL or explicit type conventions
Términos relacionados
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. GLOSARIO
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
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 MessagePack
MessagePack Decode — herramienta 100% del lado del cliente. Decodifica binario MessagePack real (entrada hex o base64 detectada automáticamente) a JSON formateado. Especificación oficial completa: fixints, str/bin/array/map (fix + 8/16/32), ext (fixext1-16, ext8/16/32), float32/64, uint/int 8-64. Privacidad primero, sin round-trip al servidor. HERRAMIENTA
Codificador MessagePack
MessagePack Encode — herramienta 100% del lado del cliente. Codifica JSON a binario MessagePack real, compatible a nivel de bytes (alineado con los valores por defecto de msgpack-python): formas enteras más cortas, familias str/bin/array/map, tipos de extensión mediante $ext. Las claves de map conservan el orden de inserción. Salida hex (predeterminado) o base64. Privacidad primero, sin round-trip al servidor. HERRAMIENTA