コンテンツへスキップ
uencoder

VByte

VByte(variable byte)は、非負整数を可変長バイト列として符号化する方式である。各バイトは7ビットのペイロードを格納し、最上位ビットが継続フラグになる。

目的

転置索引の文書IDギャップなど、小さい値が支配的な整数列をコンパクトに格納・転送する。

メカニズム

整数の7ビットグループを下位から順に書き出す。バイトの最上位ビットは、最終バイトなら0、後続があれば1である。128未満の小さい整数は1バイトで済み、大きな値は必要に応じて拡張する。

ユースケース

  • 転置索引における文書IDの符号化
  • データベースの可変長整数フィールド
  • プロトコルヘッダーの可変長長

関連ツール

References