protobuf 3.0 中的 any 和 bytes 有什么区别?

Lob*_*obo 5 byte message protocol-buffers any

众所周知,我们可以使用序列化和反序列化API在bytes和消息之间进行转换,同时我们可以使用packunpackAPI在any和消息之间进行转换。我的问题是:protobuf 3.0anybytesprotobuf 3.0之间有什么区别?比如店面大小,速度等等。

Mar*_*ell -1

2.0和3.0没有协议差异;理论上你的数据应该是相同的。

关于如何在库级别处理默认值和零,可能存在一些细微的差异 - 在 3.0 中,“必需”和“可选”不存在,而是:不传输零(所有内容实际上都是可选的,默认值为零) 。这意味着以前当您明确指定零值时,它可能已被传输。现在不会了。当然,这也意味着非零默认值在 3.0 中根本不可能。

强调:第二段中的所有内容都在序列化器级别,而不是协议级别。该协议完全没有改变。

  • 谢谢您的回复,我想知道protobuf 3.0中any和bytes的区别。 (2认同)