一、doc 与 docx 简介
doc 全程为 document,是常见的文件扩展名,也是 Word2003 及之前版本的文本文档格式,其基于二进制形式存储;docx 是 Word2007 及之后版本的文本文档格式,其基于 Office Open XML 标准的压缩文件格式。
二、docx 与 doc 的区别
既然 docx 基于 ooxml 的格式,那么本质上就是一个 zip 文件。以下是内容相同的文档,分别以 doc 和 docx 格式保存之后所占空间大小,可以看出 docx 文件明显比 doc 要小很多。

为了进一步了解 ooxml 结构,我们以一个含有页眉页脚、文本、图片的 docx 文件为例。

手动修改文件后缀为 .zip 后保存,然后解压得到文件结构:
rels.rels: 指定主要信息、扩展信息、文档内容的引用ID
docPropsapp.xml: 扩展信息,包括字数、行数、段落数、页数等core.xml:主要信息,包括创建人、修改人、创建时间、修改时间等
word:文档信息_rels:文档引用信息document.xml.rels:指定文档中的页眉页脚、主题样式、图片音视频等的引用ID
media:存放文档中使用的图片、音频、视频等媒体文件image1.jpg:文档中引用的图片
theme:文档主题信息theme1.xml
document.xml:文档内容endnotes.xmlfontTable.xmlfooter1.xml:页脚信息footnotes.xmlheader1.xml:页眉信息settings.xml:文档配置信息styles.xml:文档样式信息webSettings.xml:网页样式配置信息
[Content_Types].xml: 指定文件配置,包括图片类型、页眉页脚、主题样式、文档内容等
docx 的 ooxml 存储模式,将文档按照功能区划分为:配置信息、主题样式信息、页眉页脚信息、引用定义信息、媒体文件信息、文档内容信息等模块。这样便可将对应的信息抽离出来,存放在 xml 文件中。一方面,清晰的文档底层结构,方便查看内容细节,也方便进行二次开发;另一方面,文档信息分模块保存,好比把鸡蛋放在多个篮子里,可以增加容错性,使得文档修复更加方便。
综上,与 doc 相比,docx 主要有以下特点:
- 压缩率高,存储相同内容所占空间更小;
- 将文档信息拆分保存,方便查看或二次开发;
- 多个
xml文件打包,易于跨平台使用; - 增加文档容错性,方便修复损坏文档。
参考: