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

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

有帮助吗?

解决方案

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

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

其他提示

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

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

从您的简短描述来看,协议缓冲区似乎不合适。“在文本编辑器中手工创建的结构化内容”这句话几乎是对 XML 的呼喊。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top