protobuf
1.原理
https://www.wdbyte.com/tool/protobuf/
是由 Google 开发的一种轻量级、高效的数据交换格式,它被用于结构化数据的序列化、反序列化,对标json,xml
相比于 XML 和 JSON,Protobuf 有以下几个优势:
- 更小的数据量:Protobuf 的二进制编码通常只有 XML 和 JSON 的 1/3 到 1/10 左右,因此在网络传输和存储数据时可以节省带宽和存储空间。
- 更快的序列化和反序列化速度:由于 Protobuf 使用二进制格式,所以序列化和反序列化速度比 XML 和 JSON 快得多。
- 跨语言:Protobuf 支持多种编程语言,可以使用不同的编程语言来编写客户端和服务端。这种跨语言的特性使得 Protobuf 受到很多开发者的欢迎(JSON 也是如此)。
- 易于维护可扩展:Protobuf 使用 .proto 文件定义数据模型和数据格式,这种文件比 XML 和 JSON 更容易阅读和维护,且可以在不破坏原有协议的基础上,轻松添加或删除字段,实现版本升级和兼容性。
2.使用
编写.proto
编译
python
编译生成.py
1.bazel 编译
2.python编译
使用
python
import XX.py
例子
1 结构化数据传输
2 实现rpc框架