解析没有.proto文件的Google Protocol Buffers数据报?

时间:2013-01-31 13:36:25

标签: parsing protocol-buffers

是否可以在没有任何.proto文件的情况下解析传入的google协议缓冲区数据报?我现在只是使用协议缓冲区序列化,但不知道IDL文件。

我正在寻找一种通过某种反思来迭代任何价值的方法?这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

protoc --decode_raw < my_file

检查输出时需要考虑以下事项:

  • 没有字段名称可见,只有标签号。
  • 所有varint-fields都显示为整数。对于大多数类型,这是可以的,但sint *将以“zigzagged”格式显示。
  • 双打和浮标将显示为十六进制。
  • 字节,字符串字段和子消息都显示相同,即只是一堆字节。

如果要以编程方式解码消息,可以在使用上述方法弄清楚字段的含义后编写自己的.proto文件。