一个是原始数据,另一个是网页分析器转换后的数据。如何使用 C# 将数据转换为 Web 分析器?我没有模型。
最佳答案
如果您没有架构,坦率地说,您需要对其进行逆向工程。或者追查数据来源并获取现有数据,这通常要容易得多。
如果没有它,Protobuf 是一种不明确的格式,并且如果解码许多“线路类型”,则没有一种正确的单一方法。您可以使用诸如 protoc
(在解码原始模式下)或 https://protogen.marcgravell.com/decode 之类的工具。尝试破译原始数据,尝试将模式组合在一起,但这有点乏味,并且通常需要了解数据应该是什么。。例如,在 varint 步骤之后的“变体”可能是:
- 枚举
- 一个二进制补码有符号整数
- 一个二进制补码无符号整数
- 锯齿形有符号整数
另外,对于最后 3 个选项,相同的有效负载可以是 32 位或 64 位(这不会改变该值,但如果以后的值更大,则可能会发生变化)。
如果您需要帮助,我也许可以看一下 - 我已经对 protobuf 架构进行了多次逆向工程。
如果您只想对解释流进行原始访问,protobuf-net 有一个 ProtoReader
类型,它的工作方式与 XmlReader
等类似,并且可能会帮助您。但上述所有含糊之处仍将存在。
关于protocol-buffers - 无需 schema 即可读取 Protobuf 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59419056/