Protobuf从消息数据中获取架构

时间:2017-05-03 18:08:18

标签: protocol-buffers

刚刚了解了protobuf,我觉得它非常酷,我想知道我之前从未听说过它。我知道它并不适合人眼,而且实际上是端到端的传输。我想知道的是什么,并且还没有找到答案。如果您可以以某种方式解开它以找到字段+值,那么是否会给您编码消息。

模式名称可能不存在,但即使只能说这个对象有x个字段,值是x,y,z。

如果它有任何区别(虽然它不应该)我使用Apple的swift-protobuf(https://github.com/apple/swift-protobuf

1 个答案:

答案 0 :(得分:1)

此处记录了有线格式: https://developers.google.com/protocol-buffers/docs/encoding

您可以在某种程度上解码顶级消息,但对于嵌入的长度分隔字段,您不知道它们是代表字符串还是嵌套消息。除组外,编码消息中存在的所有线类型都可以映射到多个字段类型。例如,32位字段可以存储整数或浮点数。长度分隔的字段可能包含嵌套的消息或字符串等。确切的映射由模式(= .proto文件)确定,模式通常为发送方和接收方所知,而不包含在二进制数据中。