プロトコルバッファ
プロトコルバッファは、構造化データをシリアライズするための、言語中立、プラットフォーム中立、拡張可能なメカニズムです。
プロトコルバッファとは?
プロトコルバッファは、Google の言語中立、プラットフォーム中立、拡張可能な構造化データシリアライズ機構です。XML のように考えてください。ただし、より小さく、より速く、よりシンプルです。データの構造を一度定義すれば、特別な生成されたソースコードを使用して、さまざまなデータストリームやさまざまな言語を使用して、構造化データを簡単に書き込んだり読み取ったりできます。
お好きな言語を選択してください
プロトコルバッファは、C++、C#、Dart、Go、Java、Kotlin、Objective-C、Python、Ruby で生成されたコードをサポートしています。proto3 を使用すると、PHP でも作業できます。
実装例
edition = "2023";
message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
図 1. proto 定義。
// Java code
Person john = Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("jdoe@example.com")
.build();
output = new FileOutputStream(args[0]);
john.writeTo(output);
図 2. 生成されたクラスを使用してデータを永続化する。
// C++ code
Person john;
fstream input(argv[1],
ios::in | ios::binary);
john.ParseFromIstream(&input);
id = john.id();
name = john.name();
email = john.email();
図 3. 生成されたクラスを使用して永続化されたデータを解析する。
始め方
- ダウンロードしてインストール プロトコルバッファコンパイラを。
- 概要をお読みください。
- 選択した言語のチュートリアルをお試しください。