15

我最近了解了 .docx 文件的基本结构(它是一个特殊结构的 zip 存档)。但是,docx 的格式不像 doc。

doc文件如何工作?文件格式、结构等是什么?

4

6 回答 6

14

这不是您问题的直接答案,但我强烈建议您阅读 Joel Spolsky 的文章,为什么 Microsoft Office 文件格式如此复杂?(以及一些解决方法)。它将让您深入了解 .doc 格式的复杂程度以及原因。Joel 还对 .doc 格式包含的内容进行了非常基本的概述:

您会看到,Excel 97-2003 文件是 OLE 复合文档,它们本质上是单个文件中的文件系统。这些非常复杂,您必须阅读另外 9 页的规范才能弄清楚。这些“规范”看起来更像是 C 数据结构,而不是我们传统上认为的规范。它是一个完整的分层文件系统。

(引用是指 Excel 文件,但它也适用于 Word 文档)。内容丰富的文章,有助于理解为什么 .docx 和 ODF 文件的结构和设计在从外部角度检查时更加合乎逻辑。

于 2008-09-24T01:31:48.883 回答
12

二进制 .doc 文件的完整格式记录在此 pdf中(来自.doc 的 Wikipedia 文章

于 2008-09-24T01:25:10.597 回答
5

MS Word DOC 格式背后的基本思想是一个 OLE 复合文档,正如 Kibbee 已经写的那样,它基本上是一个内存转储。这是一种非常复杂且令人费解的文档存储方式,但是如果您曾经真正深入研究过 Word 应用程序,您就会知道它有多么疯狂的功能,如果您在商业环境中使用过它,您将拥有一个很好的感受它如何与 Office 系列中的其他程序集成。

通常,OLE 复合文档是非常可扩展的结构,它允许您将各种数据填充到一个文件中,甚至在某种程度上可以处理您没有安装应用程序的数据。例如,如果您将 Equation 对象(来自 MS Equation Editor)插入到文档中,它将被存储为子对象,就像文件中的文件一样,但该对象不仅包含 Equation Editor 所需的数据为了编辑和渲染它,它还存储了一个通用位图(或元文件,也许)表示,因此它可以在没有安装方程式编辑器的机器上显示,尽管没有编辑。

这就是为什么,因为您必须如何阅读其他人已经链接到的规范;)

但是,如果您想以简单的方式处理文件,请确保您的软件在安装了 Word 的 Windows 计算机上运行,​​然后使用 COM/OLE 自动化打开和操作文档。那时您不必担心文件格式。

于 2008-09-24T01:37:11.897 回答
1

.doc 格式相当复杂。与大多数 Microsoft 格式一样,它反映了版本和旧支持之间的长期变化历史。他们不久前发布了它,所以如果您想查看它(以及其他 Office 2007 之前的格式),请点击此处

于 2008-09-24T01:27:59.843 回答
1

Doc 是 word 文档的二进制格式 - 这是Microsoft Office Word 97-2007 Binary File Format Specification [*.doc]文档。

于 2008-09-24T02:00:14.210 回答
0

有 Microsoft Word 的 .doc,然后有纯文本 .doc。听起来您想知道专有的 Microsoft 格式。

来自维基百科

DOC 格式因 Microsoft Office Word 格式而异。最高 97 的 Word 版本使用与 97 和 2003 之间的 Microsoft Word 版本不同的格式。

直到 Word 2007 中.docx,虽然是打包文件,但不一定是 .zip 存档。它是一个结构化的 XML 文档。

于 2008-09-24T01:28:33.257 回答