Protocol buffers(简称protobuf)是谷歌提供的一种轻便高效的结构化数据存储格式,类似于xml与json,可用于结构化数据的序列化。protobuf是一种二进制格式,比xml更小,更快,更简洁。适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,能够减少数据传输量。据了解微信(例如微信客户端蓝牙外设协议)与QQ也在使用protobuf,我目前在学习的百度开源的rpc框架brpc也在使用。protobuf目前提供了 C++、Java、Python、Go、C#五种语言的 API。
protobuf原理以及使用官方文档写的很详细了,我就不啰嗦了。具体可以参考谷歌开发者相关文档:
1)protobuf编码原理:https://developers.google.com/protocol-buffers/docs/encoding
2)protobuf使用教程:https://developers.google.com/protocol-buffers/docs/tutorials
文章评论