Protobufスカラーフィールド型リファレンス

すべてのprotobufスカラー型の完全リファレンス:整数、浮動小数点、ブーリアン、文字列、バイト。ワイヤー型情報と言語固有のマッピングを含みます。

Basic Messages

詳細な説明

すべてのProtobufスカラー型

Protocol Buffersは各ターゲット言語のネイティブ型にマッピングされる15のスカラー型を提供します。適切な型の選択はワイヤーサイズとパフォーマンスの両方に影響します。

syntax = "proto3";

message ScalarShowcase {
  // 浮動小数点
  double latitude = 1;
  float temperature = 2;

  // 可変長整数(負の数には非効率)
  int32 age = 3;
  int64 population = 4;

  // 符号なし整数
  uint32 count = 5;
  uint64 total_bytes = 6;

  // 符号付き整数(負の数に効率的)
  sint32 offset = 7;
  sint64 delta = 8;

  // 固定幅整数(値が大きい場合に効率的)
  fixed32 ipv4_address = 9;
  fixed64 file_size = 10;
  sfixed32 adjustment = 11;
  sfixed64 precise_offset = 12;

  // その他のスカラー
  bool enabled = 13;
  string label = 14;
  bytes payload = 15;
}

型選択ガイド

ユースケース 推奨型
自然数(カウント、ID) uint32 / uint64
負になり得る数値 sint32 / sint64
大きな正の数値(> 2^28) fixed32 / fixed64
浮動小数点演算 double(推奨)またはfloat
バイナリデータ bytes
自由形式テキスト string(有効なUTF-8である必要あり)

ワイヤー型

protobufは内部で5つのワイヤー型を使用します。Varintエンコーディング(ワイヤー型0)はすべての整数型とブーリアンに使用されます。固定幅型(ワイヤー型1と5)はvarintエンコーディングをバイパスします。stringbytes型は長さ区切りエンコーディング(ワイヤー型2)を使用します。

ユースケース

センサーデータ、テレメトリ、または最適な数値型の選択がシリアライゼーションサイズと解析パフォーマンスに影響するシステム向けのprotobufスキーマ設計。

試してみる — Protobuf Definition Parser

フルツールを開く