如何 open/view .proto 文件扩展名

How to open/view .proto file extension

我正在从事一个开源项目(https://github.com/google/science-journal/tree/master/OpenScienceJournal)。有了这个应用程序,我可以记录一个实验。记录的实验以 .proto 扩展名存储。我试图编译它们以生成 类 但失败了。

有什么办法可以打开这种文件吗?

在协议缓冲区中,.proto 文件通常 描述消息而非数据的基于文本的模式 DSL;然而,可能这些文件确实包含二进制数据(只是...不寻常)。仔细检查文件:如果它们看起来像:

message Foo {
   int32 bar = 1;
   // etc
}

那就是架构;如果它看起来是二进制的,它可能是数据。

至于如何阅读:最简单的选择是已经有了架构。如果不这样做,则数据在技术上是模棱两可的——您可能可以通过检查数据对其进行逆向工程,但这可能会很尴尬。您可能会发现诸如 https://protogen.marcgravell.com/decode 之类的工具对此很有用。

获得模式和数据后,您将:

  • 根据架构在您选择的平台中生成必要的存根(https://protogen.marcgravell.com/ 在这里可能很有用)
  • 然后:针对您选择的平台使用 protbuf 库的 "deserialize" API 将数据加载到对象模型中
  • 最后:检查对象模型,现在填充了数据