【问题标题】:Parse Google Protocol Buffers datagram without .proto file?解析没有 .proto 文件的 Google Protocol Buffers 数据报?
【发布时间】:2013-01-31 13:36:24
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 您可以使用protoc 来检查现有消息的结构,但您可以使用它来手动构造模式,这在很大程度上是猜测。没有架构,格式就会不明确。

标签: parsing protocol-buffers


【解决方案1】:

protoc --decode_raw < my_file

检查输出时需要考虑以下几点:

  • 没有任何字段名可见,只有标签号。
  • 所有变量字段都显示为整数。这对于大多数类型都可以,但 sint* 将以“锯齿形”格式显示。
  • 双精度和浮点数将显示为十六进制。
  • 字节、字符串字段和子消息看起来都一样,即只是一堆字节。

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

【讨论】:

    猜你喜欢
    • 2012-07-11
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2011-09-15
    • 2011-05-06
    • 2012-02-27
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多