protobufs 格式的原始解码器

2024-04-01

我想找到一种方法将二进制 protobuf 消息转换为所包含数据的人类可读描述,而不使用 .proto 文件。

背景是我有一条 .proto 消息,它被 Android 上的解析器拒绝,但还不完全清楚原因。我可以手动浏览该消息,但这相当乏味。

I tried protoc --decode_raw,但它只是给出错误“无法解析输入。”。我在谷歌上搜索希望/期望有人会做一个很好的网络实用程序来做到这一点,但还没有发现任何明显的东西。

我只是希望得到一些输出,例如:

field 1: varint: 128
field 4: string: "foo"

任何正确方向的指示都将受到欢迎!


对于后代: 谷歌的协议缓冲区tools http://code.google.com/p/protobuf/downloads/list具有解码原始缓冲区的能力。

只需将未知缓冲区发送给它并传递--decode_raw flag

$ protoc --decode_raw < has_no_proto.buff
2 {
  2: "Error retrieving information from server. [RH-02]"
}

因此,这是一条将字段 2 设置为嵌入消息的消息,该消息又具有 它的第二个字段设置为一个字符串,告诉我我惹恼了 Google Play。

类型信息不确定(看起来它会尝试将所有二进制数据显示为字符串 - 但满足您对 varint/string/submessage 区别的要求)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

protobufs 格式的原始解码器 的相关文章

随机推荐