1

二进制序列化比 XML、CSV 等有哪些限制(缺点)?你能解释一下吗?

4

1 回答 1

1

Unix 和 Web(历史上)偏爱文本格式(XML、JSON、YAML、...)和协议(HTTP、SMTP、...),因为它们更容易调试(和理解),因为您可以使用文本格式工具和编辑器。许多库函数(例如fscanffprintf...)都支持文本格式。

并且有几个工具可能偏向于文本文件(无论这意味着什么)。例如,文本文件可能可以在诸如gitor之类的版本控制系统下更有效地管理svn......(并且  diffpatch实用程序需要文本数据,用换行符来分隔行)。

文本格式的一个可能缺点是编码/解码可能需要更多的 CPU 时间,以及更多的磁盘空间。(但是磁盘空间很便宜,文本数据是可压缩的,瓶颈是真正的 I/O)。

如果您希望二进制数据在各种处理器或编译器(或系统)之间具有兼容性,您应该明确地处理它,使用“中性”数据格式,如 XDR 或 ASN1 和序列化库(例如s11n)。

于 2012-05-15T07:09:04.517 回答