c++ - 谷歌 Protocol Buffer 中的未知扩展

标签 c++ protocol-buffers

如何访问谷歌 Protocol Buffer 中的未知扩展?

已知扩展可以通过 FindKnownExtensionByName 使用 Reflections 访问。

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

那么我们有什么方法可以访问 google protocol buffers 中的未知扩展吗?

最佳答案

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

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

关于c++ - 谷歌 Protocol Buffer 中的未知扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016079/

相关文章:

c++ - 如何执行与将 Windows 7 显示从横向更改为纵向相同的操作

c++ - 使用来自 qt app 的参数启动另一个程序

go - protoc 从属于不同包的两个 proto 文件生成 golang 代码

c++ - 从 C++ 访问 Protocol Buffer 扩展重复字段

flutter - 在 flutter 构建之前运行自定义命令?

c++ - concurrent_vector 无效数据

c++ - C++ 中的 `this` 运算符?

c++ - C++ 抽象工厂是否应该为构造的对象提供 destroy 方法?

objective-c - 适用于 iOS 的 GTFS 实时绑定(bind)

c - How to compile nanopb .proto file into .h and .c files using nanopb and protobuf (`protoc` 编译问题)