如何打开协议缓冲区文件
How to open protocol buffer file
例如,我有一个以 snappy 格式压缩的协议缓冲区文件
file.pbuf.sn
如何查看文件内容?建议使用哪些程序来处理协议缓冲区文件?
这里有两个独立的步骤:
- un-snappy 文件容器
- 处理大概是protobuf的内容
如果您尝试通过代码执行此操作,那么显然每个都将取决于您的目标 language/platform/etc。据推测 "snappy" 工具可从 Google(他创建了 "snappy",IIRC)获得。
获得内容后,这取决于它是 .proto 模式、二进制数据内容、JSON 数据内容还是某种组合。如果您有数据的架构,则 运行 通过 "protoc" 或您选择的 language/platform-specific 工具来获取与架构匹配的生成代码。然后,您可以通过生成的代码 运行 二进制或 JASON 数据来获得填充的对象模型。
如果您没有架构:如果是 JSON,您应该能够通过名称理解数据。只需 运行 通过您选择的 JSON 工具
如果是没有模式的二进制数据,事情就更难了。 Protobuf 数据不包含名称,相同的值可以以多种方式编码(因此:相同的字节可以来自多个源值)。因此,您必须对每个字段的含义进行逆向工程。 "Protoc" 和 https://protogen.marcgravell.com/decode
一样,有一个无模式解码模式可能对此有所帮助
例如,我有一个以 snappy 格式压缩的协议缓冲区文件
file.pbuf.sn
如何查看文件内容?建议使用哪些程序来处理协议缓冲区文件?
这里有两个独立的步骤:
- un-snappy 文件容器
- 处理大概是protobuf的内容
如果您尝试通过代码执行此操作,那么显然每个都将取决于您的目标 language/platform/etc。据推测 "snappy" 工具可从 Google(他创建了 "snappy",IIRC)获得。
获得内容后,这取决于它是 .proto 模式、二进制数据内容、JSON 数据内容还是某种组合。如果您有数据的架构,则 运行 通过 "protoc" 或您选择的 language/platform-specific 工具来获取与架构匹配的生成代码。然后,您可以通过生成的代码 运行 二进制或 JASON 数据来获得填充的对象模型。
如果您没有架构:如果是 JSON,您应该能够通过名称理解数据。只需 运行 通过您选择的 JSON 工具
如果是没有模式的二进制数据,事情就更难了。 Protobuf 数据不包含名称,相同的值可以以多种方式编码(因此:相同的字节可以来自多个源值)。因此,您必须对每个字段的含义进行逆向工程。 "Protoc" 和 https://protogen.marcgravell.com/decode
一样,有一个无模式解码模式可能对此有所帮助