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

Hhu*_*hut 6 parsing protocol-buffers

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

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

谢谢!

jpa*_*jpa 7

protoc --decode_raw < my_file

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

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

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