コンテンツへスキップ
uencoder

Varint Encode

Varintエンコーディングは、符号なし整数を7ビットずつ区切った可変長バイト列として出力する方式で、各バイトのMSBが継続フラグとして機能する。

目的

バイナリプロトコルで整数をコンパクトに表現する。小さい値なら1バイトに収まる。

メカニズム

ビットを下位から7ビットずつ出力し、後続のバイトがある間は最上位ビットを1、終端では0とする。

ユースケース

  • Protobufのフィールド
  • 可変長のデータベース列
  • プロトコルヘッダーの長さ

関連ツール

References