2008-08-05 170 views
28

我只是在浏览一些关于Google的protocol buffers数据交换格式的信息。有没有人玩过代码,甚至创建了一个项目?协议缓冲区的任何经验?

我目前使用的Python项目通过手在文本编辑器创建结构化内容的XML,我想知道什么普遍的看法是在协议缓冲区作为一个面向用户的输入格式。速度和简洁的好处似乎确实存在,但在实际生成和处理数据时有很多因素。

回答

11

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

也许在几年随着更多的工具出来支持协议缓冲区,然后开始看向,对于一个面向公众的API。在此之前...... JSON

11

协议缓冲区旨在优化机器之间的通信。它们实际上不是用于人机交互。此外,该格式是二进制的,所以它不能代替该用例中的XML。

我也建议JSON为最紧凑的基于文本的格式。

3

从您的简要说明中,听起来像协议缓冲区不适合。 “在文本编辑器中手工创建的结构化内容”这个短语几乎让人大吃一惊。

但是,如果你想与未组织外部共享数据结构的高效,低延迟的通信,二进制序列化,如协议缓冲区可以提供一个巨大的胜利。

3

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

+0

你在说什么?我在vtd-xml上有很多徽章和其他帖子的投票...如果他们是垃圾邮件,用户可以投票,我还没有收到一个负面的投票......问题是,你正在为这些决定但人们似乎并不了解帖子的内容 – 2009-09-14 19:51:31