有关于 Protocol Buffers 的经验吗?

36 投票
4 回答
2455 浏览
提问于 2025-04-10 23:28

我刚刚在查一些关于谷歌的协议缓冲区数据交换格式的信息。有没有人试过这个代码,或者围绕它做过项目?

我现在在一个Python项目中使用XML,主要是为了处理手动在文本编辑器中创建的结构化内容。我想知道大家对协议缓冲区作为用户输入格式的看法。看起来它在速度和简洁性上确实有优势,但在实际生成和处理数据时,有很多因素需要考虑。

4 个回答

4

二进制格式,比如PB,有一个缺点就是如果其中有一个比特位出错了,整个数据文件就无法被解析。而像JSON或XML这样的格式,即使出现错误,你也可以手动修复,因为它们是人类可读的,并且内置了一些冗余信息。

11

协议缓冲区(Protocol Buffers)是为了提高机器之间的通信效率而设计的。它们其实并不适合人和人之间的交流。而且,它们使用的是二进制格式,所以在这种情况下,不能用来替代XML。

我还推荐JSON,因为它是一种最紧凑的文本格式。

13

如果你想要做用户可以直接看到和操作的界面,还是用xml吧。现在大家对xml的支持、理解和接受度都比较高。如果是内部使用的话,我觉得使用协议缓冲区(protocol buffers)是个不错的选择。

也许过几年,随着更多工具支持协议缓冲区,你可以考虑用它来做对外的接口。在那之前... 用JSON怎么样?

撰写回答