注意:此网站已被弃用。该网站将在 2023 年 1 月 31 日后关闭,而流量将重定向到位于 https://protobuf.dev 的新网站。在此期间,我们仅会针对 protobuf.dev 进行更新。
使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。
message Person {
  optional string name = 1;
  optional int32 id = 2;
  optional string email = 3;
}


协议缓冲区是 Google 不依赖于语言和平台的可扩展机制,用于对结构化数据进行序列化 - 可以使用 XML,但更小、更快也更简单。您可以定义希望一次性组织数据的方式,然后使用特殊生成的源代码轻松地以各种语言向各种数据流写入和读取结构化数据。
Person john = Person.newBuilder()
    .setId(1234)
    .setName("John Doe")
    .setEmail("jdoe@example.com")
    .build();
output = new FileOutputStream(args[0]);
john.writeTo(output);
协议缓冲区目前支持 Java、Python、Objective-C 和 C++ 中生成的代码。借助我们新的 proto3 语言版本,您还可以使用 Kotlin、Dart、Go、Ruby 和 C#,未来还将支持更多语言。
Person john;
fstream input(argv[1],
    ios::in | ios::binary);
john.ParseFromIstream(&input);
id = john.id();
name = john.name();
email = john.email();
  1. 下载并安装协议缓冲区编译器。
  2. 阅读概述
  3. 试用适用于您所选语言的教程