MessagePack
MessagePack 是高效的二进制序列化格式,类似 JSON 但更紧凑,支持多语言,用于 RPC 与缓存。
用途
提供比 JSON 更小更快的序列化,适合高性能 RPC 与缓存。
机制
用单字节类型标记区分 nil、bool、整数、浮点、字符串、字节数组、数组与映射。小整数(正负)用 fixint 单字节;短字符串用 fixstr。无类型自描述(需 schema 或约定),但比 JSON 紧凑。
用例
- Redis 序列化值
- Thrift/MsgPack RPC 序列化
- 游戏服务器通信
- 嵌入式数据交换
示例
- 输入
{"a":1}输出81 a1 61 01A map with one pair
常见错误
- The lack of a schema causes cross-language type mismatches
- Use an IDL or explicit type conventions
相关词条
相关工具
MessagePack 解码器
MessagePack 解码 — 纯客户端工具。将真正的 MessagePack 二进制(自动检测 hex 或 base64 输入)解码为格式化 JSON。完整覆盖官方规范:fixint、str/bin/array/map(fix + 8/16/32)、ext(fixext1-16、ext8/16/32)、float32/64、uint/int 8-64。隐私优先,无服务器往返。 工具
MessagePack 编码器
MessagePack 编码 — 纯客户端工具。将 JSON 编码为真正的 MessagePack 二进制,线上格式兼容(对齐 msgpack-python 默认行为):最短整数形式、str/bin/array/map 全类型族、通过 $ext 约定对象支持扩展类型。map 键保持插入序。输出 hex(默认)或 base64。隐私优先,无服务器往返。 工具