区分字符串和嵌入消息

时间:2014-10-18 07:07:29

标签: python protocol-buffers

作为练习我正在尝试编写GPB解码器。根据{{​​3}}文档字符串和嵌入式消息(以及其他类型)具有相同的类型,那么如何区分字符串和嵌入消息?根据我的理解,字符串必须使用与嵌入消息不同的方法进行解码。

1 个答案:

答案 0 :(得分:0)

此信息在.proto文件中传达。要正确解码protobuf消息,解码器必须事先知道消息的类型,并且还可以使用相应的.proto文件。

首先使用.proto编译文件,然后读取输出文件,这本身就是文件descriptor.proto中定义的protobuf消息,可以最轻松地访问protoc文件。在此文件中,标识符TYPE_MESSAGETYPE_STRING表示编码中使用相同wire_type的类型之间的差异。