是否可以使用 protobuf 解析非 protobuf 消息?

     2023-02-16     261

关键词:

【中文标题】是否可以使用 protobuf 解析非 protobuf 消息?【英文标题】:Is it possible to parse non-protobuf messages using protobuf? 【发布时间】:2013-04-23 20:10:01 【问题描述】:

我正在做一个项目,我们使用协议缓冲区来创建和解析我们的一些消息(protobuf-net)。这太优雅了,我想使用这种相同的反序列化方法来解析来自外部非 protobuf 生成源的其他消息。这可能吗?

我想可以将所有 .proto 字段指定为固定大小(即不像变量整数)。那么问题是您是否可以将 protobuf 标头替换为其他幻数或 3rd 方协议使用的任何标头。

如果这有点令人困惑,一个例子可能会有所启发: 假设您购买了一个带有以太网端口的精美烤面包机。它支持专有但有据可查的协议。您可以使用 protobuf 在吐司上刻上心形图案吗?

【问题讨论】:

究竟是哪种格式,但几乎可以肯定我一无所知。对于 JSON/Xml,有一些 Java 项目。对于固定宽度的文件,有code.google.com/p/protobuf-cobol/wiki/Usage,但我怀疑您是否想在您的应用程序中引入生成的 Cobol 转换程序。在 java RecordEditor/ProtobufEditor 中有可以修改的代码,但这是在 Java 中。 【参考方案1】:

目前,否:该库与 protobuf 线规范绑定;它不支持非 protobuf 数据。

在某种程度上,这有点像问:“XmlSerializer 可以读/写 json 吗?”。老实说,这不是我要看的东西。

【讨论】:

谢谢马克。我冒险编写了一个自定义的 protobuf-net 实现,它比典型的 protobuf 灵活和高效得多,但可以很容易地解析现有协议。希望将来我可以将其开源给社区。​​span>

使用 protobuf-net 生成 C# 时保留 proto 注释

】使用protobuf-net生成C#时保留proto注释【英文标题】:PreservingprotocommentswhengeneratingC#withprotobuf-net【发布时间】:2013-02-1210:57:04【问题描述】:我们正在使用protobuf-net来处理C#应用程序中的协议缓冲区需求。由于我们与其他非托管... 查看详情

protobuf使用手册

Protobuf使用手册第1章定义.proto文件首先我们需要编写一个proto文件,定义我们程序中需要处理的结构化数据,在protobuf的术语中,结构化数据被称为Message。proto文件非常类似java或者C语言的数据定义,可以使用C或C++风格的注释。... 查看详情

项目中使用protobuf

在互种系统中数据通信或数据交换可以使用protobuf,他比json、xml的数据量要小一些。另外因为消息要单独写一个.proto文件,来生成各平台的代码,所以对跨平台通信来说也比较友好。一。使用方法  1.编写.proto文件,定义格式... 查看详情

用于继承的 Protobuf-net .proto 文件生成

】用于继承的Protobuf-net.proto文件生成【英文标题】:Protobuf-net.protofilegenerationforinheritance【发布时间】:2010-09-1512:18:40【问题描述】:我正在对Protobuf-net进行原型设计,以替换我们当前使用[Datacontract]将对象序列化为Xml的一些现有... 查看详情

protobuf语言指南(proto3)(代码片段)

Protobuf语言指南(proto3)ProtocolBuffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据-对比XML,但更小,更快,更简单。您可以定义数据的结构化,然后可以使用特殊生成的源代码轻松地在各种数据流中... 查看详情

ProtoBuf.Net - 使用 Proto 作为 TypeFormatter

】ProtoBuf.Net-使用Proto作为TypeFormatter【英文标题】:ProtoBuf.Net-UseProtoasTypeFormatter【发布时间】:2012-03-2515:41:18【问题描述】:我使用ProtoBuf.Net作为NetDataContractSerializer(或BinarySerializer)进行POC,我已经在这里code发布了代码。这是... 查看详情

protobufs 格式的原始解码器

】protobufs格式的原始解码器【英文标题】:rawdecoderforprotobufsformat【发布时间】:2011-09-0806:16:37【问题描述】:我想找到一种方法,将二进制protobuf消息转换为人类可读的包含数据的描述,而不使用.proto文件。背景是我有一条.proto... 查看详情

protobuf介绍和语法(代码片段)

...法标识符 字段字段类型proto2和proto3区别前言        Protobuf即ProtocolBuffers,是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。        与XML和JSON格式相... 查看详情

vue使用protobuf+websocket

参考技术A我的教程是用protobuf生成了proto.js文件1、运行npminstallprotobufjs--save安装2、拿到后台给的proto文件,在src里创建一个proto目录,用于存放proto文件及编译后的js文件proto3、运行命令生成proto.js文件,如图4、使用websocket返回的... 查看详情

golang里面使用protobuf(proto3)

原文:https://developers.google.com/protocol-buffers/docs/gotutorial1.proto3文档:https://developers.google.com/protocol-buffers/docs/proto3goapi文档:https://godoc.org/github.com/golang/protobuf/proto2.一个简单的p 查看详情

如何使用 protobuf-net 处理 .proto 文件

】如何使用protobuf-net处理.proto文件【英文标题】:Howtoprocessa.protofileusingprotobuf-net【发布时间】:2010-05-1220:14:42【问题描述】:我已经开始使用protobuf-net库在我正在维护的一些程序之间进行通信。我还能够将消息从C#解码为Ruby。... 查看详情

使用protobuf编译onnx.proto过程中的一些问题总结

使用gitclone下载protobuf的源代码,然后gitcheckout到branch2.7.0:编译protobuf,先在代码顶层目录执行./configure,然后执行make,成功后执行sudoldconfig,重新加载动态库。经过试验发现,使用protoc编译onnx.proto,需要特别注意版本问题,使... 查看详情

protobuf(protocolbuffers).proto文件中的idl(interfacedefinitionlanguage接口定义语言)是什么?

文章目录.proto文件介绍在Google的ProtocolBuffers中,.proto文件使用的语言就是接口定义语言(IDL),它定义了要使用的数据类型、消息结构、服务等。然后可以使用特定的编译器将.proto文件转换为各种编程语言的源代... 查看详情

使用 protobuf-net.Grpc 生成通用服务的 .proto 文件

】使用protobuf-net.Grpc生成通用服务的.proto文件【英文标题】:Generate.protofileofgenericserviceswithprotobuf-net.Grpc【发布时间】:2021-09-1219:28:23【问题描述】:我正在尝试生成此结构的.proto:--模型--基础模型[DataContract]publicabstractclassBase[Pr... 查看详情

使用 protobuf.net 从给定 .proto 文件中获取 .cs 文件的最佳方法是啥

】使用protobuf.net从给定.proto文件中获取.cs文件的最佳方法是啥【英文标题】:Whatisthebestwaytogetthe.csfilefromagiven.protofilewithprotobuf.net使用protobuf.net从给定.proto文件中获取.cs文件的最佳方法是什么【发布时间】:2018-10-1014:10:35【问题... 查看详情

.proto 文件中带有 oneof 的 Protobuf-net

】.proto文件中带有oneof的Protobuf-net【英文标题】:Protobuf-netwithoneofin.protofile【发布时间】:2015-02-0909:58:53【问题描述】:我正在使用来自protobuf-net的ProtoGen工具(版本1.0.0.280)从.proto文件生成.cs文件。但是,使用oneof关键字会导致... 查看详情

深入protobuf

ProtoBuf官方文档翻译[翻译]ProtoBuf官方文档(一)-开发者指南[翻译]ProtoBuf官方文档(二)-语法指引(proto2)[翻译]ProtoBuf官方文档(三)-语法指引(proto3)[翻译]ProtoBuf官方文档(四)-规范指引[翻译]ProtoBuf官方文档(五)-编码[... 查看详情

protobuf-net - 反引号、字典和 .proto 文件

】protobuf-net-反引号、字典和.proto文件【英文标题】:protobuf-net-backticks,Dictionaries&.protofiles【发布时间】:2010-03-2904:37:39【问题描述】:我正在尝试使用http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers与使用iphone中的protobuf-net的C#... 查看详情