Protocol Buffers - Google的数据交换格式
版权所有 2023 Google LLC
概述
Protocol Buffers(简称protobuf)是Google的语言无关、平台无关、可扩展的结构化数据序列化机制。你可以在protobuf的文档中了解更多信息。
本README文件包含protobuf的安装说明。要安装protobuf,你需要安装协议编译器(用于编译.proto文件)和你所选编程语言的protobuf运行时。
使用Protobuf源代码
大多数用户会发现使用支持的发布版本是最简单的方法。
如果你选择使用主分支的最新版本,你的构建可能会因源代码不兼容的变更和测试不充分(因此存在问题)的行为而偶尔中断。
如果你正在使用C++或需要将protobuf从源代码构建为项目的一部分,你应该固定在发布分支上的发布提交。
这是因为即使是发布分支在发布提交之间也可能出现一些不稳定的情况。
Protobuf编译器安装
protobuf编译器是用C++编写的。如果你使用C++,请按照C++安装说明安装protoc以及C++运行时。
对于非C++用户,安装协议编译器最简单的方法是从我们的GitHub发布页面下载预构建的二进制文件。
在每个发布版本的下载部分,你可以找到zip包中的预构建二进制文件:protoc-$VERSION-$PLATFORM.zip
。它包含protoc二进制文件以及随protobuf分发的一组标准.proto
文件。
如果你正在寻找发布页面上没有的旧版本,请查看Maven仓库。
这些预构建的二进制文件仅提供给已发布的版本。如果你想使用GitHub主分支的HEAD版本,或者需要修改protobuf代码,或者正在使用C++,建议从源代码构建自己的protoc二进制文件。
如果你想从源代码构建protoc二进制文件,请参阅C++安装说明。
Protobuf运行时安装
Protobuf支持多种不同的编程语言。对于每种编程语言,你可以在相应的源代码目录中找到有关如何为该特定语言安装protobuf运行时的说明:
语言 | 源代码 |
---|---|
C++(包括C++运行时和protoc) | src |
Java | java |
Python | python |
Objective-C | objectivec |
C# | csharp |
Ruby | ruby |
Go | protocolbuffers/protobuf-go |
PHP | php |
Dart | dart-lang/protobuf |
JavaScript | protocolbuffers/protobuf-javascript |
快速入门
学习如何使用protobuf的最佳方法是按照开发者指南中的教程进行学习。
如果你想从代码示例中学习,可以查看examples目录中的示例。
文档
完整的文档可在Protocol Buffers文档网站上找到。
支持政策
阅读我们的版本支持政策以了解语言库的最新支持时间框架。
开发者社区
要及时了解Protocol Buffers即将发生的变更并与protobuf开发者和用户保持联系,请加入Google群组。