我想找到一种方法将二进制 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(使用前将#替换为@)