Protocol Buffers 是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的机制。用于序列化结构化数据,此工具对标 XML ,支持自动编码,解码。比 XML 性能好,且数据易于解析。更多有关工具的介绍可参考官网。
Protocol Buffers官网:https://developers.google.com/protocol-buffers
Protocol Buffers 为跨平台设计,以 Python 为例,使用者配置 .proto 文件,利用 Protocol Buffers 工具即可生成 Python 代码,此代码就是使用者想要的数据结构。
如果编程语言换成了 Java ,使用者可使用相同的 .proto 文件,利用 Protocol Buffers 工具生成 Java 代码,此代码可被 Java 进行解析。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjgb8kFu-1649986315100)(https://ceshiren.com/uploads/default/original/3X/0/a/0a90b0c06a54288bcc30594922e512794f7b5092.png)]
这么做的好处是可以跨语言交流,试想 Java 与 Python 间的数据通信,只需要利用 .proto 确定格式,就可随心编程,这个过程惬意无比。基于 Protocol Buffers 的测试也无比舒服。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OXdPNc1T-1649986315672)(https://ceshiren.com/uploads/default/original/3X/9/b/9b78606ec1ffd7da82ad106a5ddcc9f60a4cc37d.png)]
你可选择自己的语言进行测试,比如 Python 。由于数据格式基于 .proto 配置文件,获取到这个文件即可生成数据类,比如下述 .proto 内容通过 protoc --python_out=./ ./addressbook.proto 命令即可生成 addressbook_pb2.py 文件:
syntax = "proto2";
package tutori