Protocol buffers 如何打开协议缓冲区文件

Protocol buffers 如何打开协议缓冲区文件,protocol-buffers,snappy,Protocol Buffers,Snappy,例如,我将协议缓冲区文件压缩为snappy格式 file.pbuf.sn 如何查看文件的内容?建议使用哪些程序处理协议缓冲区文件?这里有两个单独的步骤: 取消快照文件容器 处理可能是protobuf的内容 如果您试图通过代码来实现这一点,那么很明显,每个都将取决于您的目标语言/平台/等等。大概“snappy”工具可以从Google获得(谁创建了“snappy”,IIRC) 一旦有了he内容,这取决于它是.proto模式、二进制数据内容、JSON数据内容还是某种组合。如果您有数据的模式,那么

例如,我将协议缓冲区文件压缩为snappy格式

file.pbuf.sn

如何查看文件的内容?建议使用哪些程序处理协议缓冲区文件?

这里有两个单独的步骤:

  • 取消快照文件容器
  • 处理可能是protobuf的内容
如果您试图通过代码来实现这一点,那么很明显,每个都将取决于您的目标语言/平台/等等。大概“snappy”工具可以从Google获得(谁创建了“snappy”,IIRC)

一旦有了he内容,这取决于它是.proto模式、二进制数据内容、JSON数据内容还是某种组合。如果您有数据的模式,那么通过“protoc”或您选择的特定于语言/平台的工具运行它,以获得与模式匹配的生成代码。然后,您可以通过生成的代码运行二进制或JASON数据,以获得填充的对象模型

如果您没有模式:如果是JSON,您应该能够通过名称理解数据。只需通过您选择的JSON工具运行它


如果是没有模式的二进制数据,事情就更难了。Protobuf数据不包括名称,相同的值可以用多种方式编码(因此:相同的字节可以来自多个源值)。因此,您必须对每个字段的含义进行反向工程。“Protoc”有一个无模式的解码模式,这可能会有所帮助,就像

Marc一样,我真的很喜欢你的基于网络的解码器,但我总是忘记url:)能不能给它命名为“Online protobuf decoder”或其他什么,这样谷歌会发现它更好?