解码没有模式的protobuf
Posted
技术标签:
【中文标题】解码没有模式的protobuf【英文标题】:Decoding protobuf without schema 【发布时间】:2014-09-17 18:53:33 【问题描述】:是否可以使用工具或任何将二进制数据解码为可读格式的工具来解码没有架构的 protobuf 序列化文件?
【问题讨论】:
在这里查看我的答案***.com/questions/7914034/… 【参考方案1】:您通常可以推断架构。事实上,IIRC“protoc”工具有一组参数(--decode_raw
, iirc),它可以精确地做到这一点——做出明智的猜测。然而,这是一种猜测——格式是模棱两可的,因为多种不同类型的数据可以存储在相同的机制中——例如,一个以长度为前缀的块可能是:
同样,一个 4 字节的固定宽度块可以是一个固定宽度的整数,也可以是一个浮点数;整数可以是有符号或无符号的。
【讨论】:
我厌倦了提供一个使用它序列化的文件,我写了 protoc filename.protobuf --decode_raw 它说不应该给输入文件 @moaz dis 你看到这个例子了吗? 是的,这就是我得到的:protoc f.bytes --decode_raw 使用 --decode_raw 时,不应给出输入文件。 是否可以再次编码原始字节?这样我就可以更改一些值,然后将其重新编码为原始文件?--decode_raw
选项期望从标准输入读取输入。所以实际的命令是protoc --decode_raw < INPUT_FILE
。以上是关于解码没有模式的protobuf的主要内容,如果未能解决你的问题,请参考以下文章