Protocol Buffers
什么是Protocol Buffers?
Protocol buffers 是谷歌推出的语言无关,平台无关,可扩展的结构化数据序列化机制-可以理解为xml的替代平
但是体积更小、速度更快、更简单。您只需定义一次希望数据如何被结构化,然后就可以使用生成的特殊源代码,
轻松地将结构化数据写入和读取到各种数据流中,并使用多种编程语言进行操作。
选择您喜欢的编程语言
Protocol buffers 支持C++, C#, Dart, Go, Java, Kotlin, Objective-C, Python, 和 Ruby.
使用 proto3, 您还可以在与 PHP一起使用.
演示实现
第一步 定义一个proto
edition = "2023";
message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
第二步 使用一个类来生成数据
// Java code
Person john = Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("jdoe@example.com")
.build();
output = new FileOutputStream(args[0]);
john.writeTo(output);
第三步 使用生成的类来解析数据
// C++ code
Person john;
fstream input(argv[1],
ios::in | ios::binary);
john.ParseFromIstream(&input);
id = john.id();
name = john.name();
email = john.email();