.msgpack
Data
MessagePack
MessagePack 是一种紧凑的二进制序列化格式,类似 JSON 但更小更快。它支持与 JSON 相同的数据类型(映射、数组、字符串、数字、布尔值、null)和二进制扩展,被 Redis、Fluentd 和许多实时系统使用。
MIME 类型
application/x-msgpack
类型
二进制
压缩
无损
优点
- + Smaller and faster than JSON with no schema required
- + Drop-in JSON replacement — same data model
- + Implementations in 50+ programming languages
缺点
- − Not human-readable in binary form
- − No schema validation — same weakness as JSON
- − Less widely adopted than JSON or Protobuf
何时使用 .MSGPACK
当 JSON 太慢或太大时使用 MessagePack — 实时 API、缓存、服务间通信和嵌入式系统。
技术细节
MessagePack 使用类型前缀字节后跟值进行编码。小整数使用单字节,字符串使用长度前缀,映射使用键值对。扩展类型支持自定义数据,如时间戳。
历史
Sadayuki Furuhashi 于 2008 年在日本创建了 MessagePack。它因其简洁性而流行 — 无需模式的 JSON 二进制替代品,拥有 50 多种语言的实现。