parsing - 在没有 .proto 文件的情况下解析 Google Protocol Buffers 数据报?

标签 parsing protocol-buffers

是否可以在没有任何 .proto 文件的情况下解析传入的 google protocol buffers 数据报?我只是现在使用 Protocol Buffer 对其进行了序列化,但不知道 IDL 文件。

我正在寻找一种方法来通过某种反射迭代任何值?这可能吗?

谢谢!

最佳答案

protoc --decode_raw < my_file
检查输出时,您需要考虑以下事项:

  • 没有任何字段名称是可见的,只有标签编号。
  • 所有 varint 字段都显示为整数。这适用于大多数类型,但 sint* 将以“锯齿形”格式出现。
  • double 和 float 将显示为十六进制。
  • 字节、字符串字段和子消息都看起来相同,即只是一堆字节。

  • 如果要以编程方式解码消息,可以在使用上述方法弄清楚字段的含义后编写自己的 .proto 文件。

    关于parsing - 在没有 .proto 文件的情况下解析 Google Protocol Buffers 数据报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14627069/

    相关文章:

    json - 从 R 中的字典列表中提取数据

    c# - 将 BigDecimal Java 转换为类似 C# 的 Decimal

    c - 如何在 C 中解析

    c++ - 未调用 boost spirit 语义 Action

    python - 如果输入是整数则执行特定代码

    python - GRPC_TOOLS.PROTOC 生成损坏的 pb2 python 文件

    java - 将POJO转换为protocol buffer请求消息

    typescript - 使用 tsify 捆绑 typescript 和 protobuf.js

    Linux rpc : Varint for protobuf encoding : not expected value

    parsing - 在解析表达式的评估中将 [IO String] 转换为 IO String