今天我无意中发现 .docx 和 .zip 是一样的(或者说它们之间没有太大区别)。当你将 .docx 更改为 .zip 并用 WinRAR 打开时,你会看到文件夹中有一堆 XML 文件。该 XML 文件中存储了文本、字体、所有者、上次修改等等。总之,所有信息都以 XML 数据的形式存储。
但对于 .doc 扩展名的文件则不然,无法以 .zip 或 .rar 格式打开它们。
那么问题是:微软改变了存储数据的方式,将 .docx 数据存储在 XML 中有什么好处?事实上,我想知道的不是 XML 格式的好处,而是为什么微软使用多个 XML 文件来存储 .docx 数据。事实证明,.docx 并不是根源上的新格式。
答案1
文件.docx
可以存储嵌入资源,例如图像文件,而不仅仅是 XML 文件。他们决定采用标准的 ZIP 格式,而不是使用 base64 或其他方式对内容进行编码并将其存储在 XML 文件中或发明另一种二进制序列化格式。
此外,XML 是一种非常冗长的文件格式,包含大量冗余模式。您可以获得 XML 文件的高压缩率。
顺便说一句,我不太明白“欺骗我们”这句话的意思。从头开始发明一种新的神秘文件格式还是使用标准的已知格式更好?
答案2
这维基百科文章总结得很好:
“微软面临越来越大的压力,要求其采用开放文件格式,尤其是一些国家都采用了官方文件应采用开放格式的规定。”
编辑: 压缩它非常有意义,因为 XML 非常冗长,而且自然压缩效果很好。
答案3
使用重命名的 .zip 文件是一种很常见的做法 - 例如 Quake III .pak 文件实际上是 .zip 文件。如果已经存在非常完善的压缩文件格式,那么发明自己的压缩文件格式就毫无意义了。
答案4
最大的好处是,您可以通过解压文件并复制 xml 文件中的文本来获取数据。即使您没有 Word 2007 副本,也可以使用 zip 实用程序和文本编辑器来完成此操作。
这使得该格式比旧的二进制格式更加开放。