python -有没有使用协议缓冲区的经验?

Translate

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

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

This question and all comments follow the "Attribution Required."

所有的回答

Translate

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

也许几年后,就会出现更多支持协议缓冲区的工具,然后开始寻找面向公众的api。直到那时...JSON格式?

来源
Translate

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

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

来源
Translate

根据您的简短描述,听起来协议缓冲区不合适。短语“在文本编辑器中手工创建的结构化内容”对XML几乎是尖叫。

但是,如果您想要与组织外部不共享的数据结构进行高效,低延迟的通信,则二进制序列化(例如协议缓冲区)可以带来巨大的成功。

来源
Jesse Lee
Translate

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

来源