我必须在没有消息定义的情况下将 protobuf 消息的消息结构传输给我。使用 UnknownFieldSet 方法,我能够获得消息的字符串表示形式,如下所示:
1: "a"
2: {
3:"b"
4:"c"
}
字段 2 代表什么数据结构?使用 UnknownFieldSet.Field.getGroupList 我能够获取字段 3 和 4 的内容,这是否意味着字段 2 具有“已弃用”的组结构?
我必须在没有消息定义的情况下将 protobuf 消息的消息结构传输给我。使用 UnknownFieldSet 方法,我能够获得消息的字符串表示形式,如下所示:
1: "a"
2: {
3:"b"
4:"c"
}
字段 2 代表什么数据结构?使用 UnknownFieldSet.Field.getGroupList 我能够获取字段 3 和 4 的内容,这是否意味着字段 2 具有“已弃用”的组结构?
如果您发布了我们可以告诉您的原始二进制数据 - 或者您可以查看协议缓冲区编码文档。如果您看到连线类型为 3 的字段,则表示一个组。
我对 UnknownFieldSet API 没有我应该熟悉的那样熟悉,但听起来确实像是在与一个小组打交道。
另一方面,我希望组的大部分使用都是 Google 内部的——这些数据是从哪里来的?诚然,没有什么可以阻止人们使用已弃用的组格式而不是嵌入式消息,但我希望很少有人这样做......
你有什么理由不能要求涉及的 .proto 文件?虽然某些信息当然可以在没有定义的情况下从协议缓冲区中收集到,但它们实际上是为两端都知道消息格式的情况而设计的——尽管可能有不同的版本。