コンテンツへスキップ
uencoder

MessagePack Ext

MessagePackのExt型は(type_code, data)のペアでカスタム型を拡張し、アプリケーション層が非標準の型をシリアライズできるようにする。

目的

MessagePackでアプリケーション定義の型(例:Date、BigInt、カスタムクラス)をサポートしつつ、バイナリ効率を保つ。

メカニズム

Ext型のマーカー(fixext1/2/4/8/16またはext8/16/32)の後に、1バイトのtype_code(0-127はアプリケーション定義)と生データが続く。デコーダーはtype_codeに基づいてカスタムデシリアライザーへディスパッチする。

ユースケース

  • カスタム型のシリアライズ
  • Date/BigIntの拡張
  • アプリケーション型の保持

関連ツール

References