当前位置 : 主页 > 大数据 > 区块链 >

序列化 – protobuf版本之间的数据格式兼容性

来源:互联网 收集:自由互联 发布时间:2021-06-22
我想知道协议缓冲区的序列化数据格式是否在protobuf编译器和客户端库版本中保持不变. 换句话说,我是否需要使用相同的编译器版本来生成我的Python,Java和C类?这些客户都需要使用相同
我想知道协议缓冲区的序列化数据格式是否在protobuf编译器和客户端库版本中保持不变.

换句话说,我是否需要使用相同的编译器版本来生成我的Python,Java和C类?这些客户都需要使用相同版本的protobuf库吗?

This post类型解决了我的问题,但其接受的答案特定于OP的protobuf版本.

是的,这几乎就是这个想法.您使用哪个库并不重要,只要它遵循规范.请注意,相同的数据可以用稍微不同的方式表示,例如,字段顺序对客户端无关紧要,虽然客户端通常按升序编写字段,但明确要求客户端以任何顺序处理字段.我在这里说的是,它可能不是完全相同的字节,但它应该可以在任何客户端正常工作.

请注意,某些实现可能会提供其他功能(* cough *,如我的提供继承支持),主要仅用于该单个客户端.在这种情况下,我希望:在使用时期望这些特性是显而易见的,并且b:它应该始终仍然产生有效的protobuf流(您可能只是选择忽略这些字段,或者为了圆形而支持它们作为字节 – 行程).

网友评论