35

我只是在查看有关 Google协议缓冲区数据交换格式的一些信息。有没有人玩过代码,甚至围绕它创建了一个项目?

我目前在 Python 项目中使用 XML 来处理在文本编辑器中手动创建的结构化内容,我想知道关于 Protocol Buffers 作为面向用户的输入格式的一般意见是什么。速度和简洁的好处似乎确实存在,但在实际生成和处理数据时有很多因素。

4

4 回答 4

13

如果您正在寻找面向用户的交互,请坚持使用 xml。目前得到了更多的支持、理解和普遍接受。如果它是内部的,我会说协议缓冲区是个好主意。

也许在几年后,随着更多工具支持协议缓冲区的出现,然后开始寻找面向公众的 api。在那之前... JSON

于 2008-08-05T01:14:30.423 回答
11

协议缓冲区旨在优化机器之间的通信。它们真的不适合人类互动。此外,格式是二进制的,因此在该用例中它不能替换 XML。

我还推荐JSON作为最紧凑的基于文本的格式。

于 2008-08-08T17:12:24.290 回答
3

从您的简短描述中,听起来协议缓冲区不合适。短语“在文本编辑器中手工创建的结构化内容”非常适合 XML。

但是,如果您希望与未在组织外部共享的数据结构进行高效、低延迟的通信,那么协议缓冲区等二进制序列化可以提供巨大的优势。

于 2008-09-23T19:06:08.810 回答
3

像 PB 这样的二进制格式的另一个缺点是,如果有一点错误,整个数据文件是不可解析的,但是使用 JSON 或 XML,作为最后的手段,您仍然可以手动修复错误,因为它是人类可读的并且具有冗余内置..

于 2009-09-13T19:15:23.647 回答