Google协议缓冲区

时间:2016-10-13 08:36:12

标签: c++ protocol-buffers

如何访问Google协议缓冲区中的未知扩展程序?

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

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

因此,我们有任何方法可以访问Google协议缓冲区中的未知扩展程序。

1 个答案:

答案 0 :(得分:1)

未知扩展名也会出现在UnknownFieldSet中。

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