有什么限制(minuses)有二进制序列化而不是XML,CSV等? 你能解释一下吗?
答案 0 :(得分:1)
Unix和Web(历史上)偏爱文本格式(XML,JSON,YAML,...)和协议(HTTP,SMTP,...),因为它们更易于调试(和理解)可以使用文本工具和编辑器。许多库函数(例如fscanf
和fprintf
...)都支持文本格式。
有些工具可能会偏向于文本文件(无论这意味着什么)。例如,在git
或svn
等版本控制系统下可以更有效地管理文本文件...(并且diff
和patch
实用程序正在期待文本数据,分隔行的换行符。)
文本格式的一个可能的缺点是它可能需要更多的CPU时间来编码/解码,以及更多的磁盘空间。 (但是磁盘空间很便宜,文本数据是可压缩的,瓶颈是真正的I / O)。
如果要在各种处理器或编译器(或系统)中兼容二进制数据,则应使用“中性”数据格式(如XDR或ASN1)和序列化库(例如s11n)明确处理它。 。