2010-01-03 80 views
5

如果没有消息定义,我必须将protobuf消息的消息结构传输给我。使用UnknownFieldSet方法,我能得到消息的字符串表示如下:如何在没有定义的情况下获得Google Protobuf消息的结构

1: "a" 
2: { 
    3:"b" 
    4:"c" 
} 

并现场2代表什么数据结构?使用UnknownFieldSet.Field.getGroupList我能够得到字段3和4的内容,这是否意味着字段2具有“不推荐使用”的组结构?

回答

3

如果您发布了原始二进制数据,我们可以告诉您 - 或者您可以查看protocol buffer encoding documentation。如果您看到线路类型为3的字段,则表示一个组。

我对UnknownFieldSet API不太熟悉,因为我可能应该是这样,但听起来好像你在处理一个组。

另一方面,我期望组的大部分用途都是Google的内部 - 这些数据来自哪里?诚然,有什么可停止人使用过时的组格式,而不是嵌入邮件的,但我会希望那几个都是这样做的......

是否有任何理由,你不能要求为.proto文件涉及?虽然一些信息肯定可以从协议缓冲区收集没有他们的定义,他们真的被设计用于两端知道消息格式 - 虽然可能不同的版本。

+0

谢谢,它确实是一个群体。 – dqminh 2010-01-05 01:52:53

相关问题