我想找到一种方法将二进制 protobuf 消息转换为包含数据的人类可读描述,而无需使用 .proto 文件。
背景是我有一个 .proto 消息,它被 Android 上的解析器拒绝,但不完全清楚原因。我可以手动浏览消息,但它相当乏味。
我试过 protoc --decode_raw
,但它只会给出错误“无法解析输入。”。我谷歌希望/期望有人会做一个很好的网络实用程序,可以做到这一点,但没有发现任何明显的东西。
我只是希望得到一些输出,如:
field 1: varint: 128
field 4: string: "foo"
任何指向正确方向的指针将是最受欢迎的!
最佳答案
您可以尝试通过wireshark插件强制它,或者您可以借用某些实现的“阅读器”部分(例如,我知道我将如何在C#中执行此操作,但我怀疑这就是您的意思)。
但是,要小心—— Protocol Buffer 中的字符串并不真正意味着“字符串”——它可能是:
关于protocol-buffers - protobufs 格式的原始解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7343867/