有关Protocol Buffers的任何经验吗?

时间:2008-08-05 00:12:55

标签: python xml database protocol-buffers

我刚刚查看了有关Google的protocol buffers数据交换格式的一些信息。有没有人玩过代码甚至围绕它创建了一个项目?

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

4 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:11)

协议缓冲区旨在优化计算机之间的通信。它们实际上不是用于人类交互。此外,格式是二进制的,因此它无法替换该用例中的XML。

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

答案 2 :(得分:3)

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

但是,如果您希望与组织外部未共享的数据结构进行高效,低延迟的通信,则协议缓冲区等二进制序列化可以带来巨大的胜利。

答案 3 :(得分:3)

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