首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >protocol buffer可以解析"debug string“格式的消息吗?

protocol buffer可以解析"debug string“格式的消息吗?
EN

Stack Overflow用户
提问于 2011-08-14 19:16:43
回答 4查看 13.6K关注 0票数 9

我想在我的程序中使用protocol buffer从文件中读取数据。首先,我还希望能够使用任何文本编辑器编辑数据文件(稍后我将编写一个数据编辑器,然后切换到全二进制)。

有没有办法解析人类可读的格式?(由protobuf本身提供的调试字符串,或某种其他格式)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-14 22:05:16

也有一种基于文本的格式,但对此的支持是特定于实现的。例如,我在protobuf-net中根本不支持它。但是是这样的:这是定义的,并且(例如)在这里讨论:http://code.google.com/apis/protocolbuffers/docs/reference/cpp/google.protobuf.text_format.html

就我个人而言,我更喜欢使用二进制,并围绕模型编写UI。

票数 6
EN

Stack Overflow用户

发布于 2011-08-16 22:39:00

如果您不介意使用命令行工具,Piqi project包含用于在4种格式之间进行转换的piqi convert命令: binary Protocol Buffers、JSON、XML和Piq。Piq格式是专门为在文本编辑器中查看和编辑数据而设计的。

票数 5
EN

Stack Overflow用户

发布于 2017-10-17 22:25:54

这个问题并没有指定编程语言,我的答案只是关于Java的。

在Java语言中,Message实例的toString方法返回人类可读的文本格式。然后,TextFormat.merge可以将相同的格式解析为Message实例

代码语言:javascript
复制
String messageString = ...
MyMessage.Builder builder = MyMessage.newBuilder();
TextFormat.merge(messageString, builder);
MyMessage newMessage = builder.build();

(Variations of the merge method也可以从流中读取,以避免将整个消息字符串读取到内存中。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7056472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档