DOCX 和 DOC 相比有哪些优点?

DOCX 和 DOC 相比有哪些优点?

新的格式更容易在各个平台被解析。

新的文件格式使用XML和zip技术,这些技术被大家所熟知,有相关经验的开发人员比较多。解析XML和zip格式的软件也非常多。而且原有的格式是复合文档中的二进制码流,这些格式怎么解析会让开发人员费一番脑筋。而新格式中只需要将zip压缩数据解压出来,解析其中的png图片,XML描述等等就可以了,清晰很多,也更容易让独立的应用程序去对素材做加工处理。原有的格式使用COM体系下的复合文档,而COM专业开发人员比较难找也比较贵,而且解析工具主要是从Windows附带的功能中来,软件资源不如XML和zip这样的技术丰富。举例来说,C#/.NET平台至今仍然没有直接的复合文档支持,需要通过interop调用本地的Windows API来访问复合文档的内容,这意味着甚至对微软来说老格式支持都会造成资源浪费,老格式在需要将文档放到云平台供包括移动平台在内的客户端访问的今天显得不合时宜。

在实践中,新格式下文件的体积更小了。

原格式直接使用复合文档,并没有对文件内容做压缩。

新的格式更轻便,功能限制更少。

复合文档对磁盘中的文件做了一些假设,部分是为了适应90年代时个人电脑内存和磁盘存储能力比较低的现实,部分是为了保证文档在编辑中有比较强大的互操作能力。比如为了保证文档能互相编辑,你不能同时打开一个文件的2个副本进行编辑,因为逻辑上文档只有一个,它需要实时与其他文档实现互操作,即使2个副本会同步更新也不太合逻辑。微软在那个年代设计的以文档为中心的理念已经不太适合今天了。今天的做法是将应用放到云端,文档间的互操作可以在云端进行,应用也可以自行升级,添加功能或者在应用间交换数据,这些实现完全可以取代微软原先的在程序中利用组件对文档做互操作的设计。

关于复合文档文件格式可以参考msdn文档