谷歌协议缓冲区中的未知扩展

Posted

技术标签:

【中文标题】谷歌协议缓冲区中的未知扩展【英文标题】:Unknown extensions in google protocol buffers 【发布时间】:2016-10-13 08:36:12 【问题描述】:

如何访问?

FindKnownExtensionByName 可以使用反射访问已知扩展。

类似地,UnknownFieldSet() 给出消息中的未知字段。

那么我们有什么方法可以访问。

【问题讨论】:

【参考方案1】:

UnknownFieldSet 中也会出现未知的扩展。

扩展名的编码与常规字段完全相同——扩展名是字段号。因此,如果解析器在线路上看到一个未定义为字段或扩展的字段,它实际上甚至不知道它是哪个字段。所以,一切都进入了 UnknownFieldSet。

【讨论】:

以上是关于谷歌协议缓冲区中的未知扩展的主要内容,如果未能解决你的问题,请参考以下文章

谷歌协议缓冲区是不是支持序列化前的大小计算?

提升序列化与谷歌协议缓冲区? [关闭]

无法在 Mac 上构建谷歌协议缓冲区教程

协议缓冲区扩展和 toString()

Android Studio getSlotFromBufferLocked:棉花糖中的未知缓冲区错误

将谷歌protobuf lib静态链接到dll库