代码之家  ›  专栏  ›  技术社区  ›  stalepretzel

.doc格式是如何工作的?

  •  15
  • stalepretzel  · 技术社区  · 16 年前

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

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

    6 回复  |  直到 13 年前
        1
  •  14
  •   Jay    16 年前

    这不是对你问题的直接回答,但我强烈建议阅读Joel Spolsky的文章, Why are the Microsoft Office file formats so complicated? (And some workarounds) 。它将让你了解.doc格式到底有多复杂,以及为什么。Joel还对.doc格式的组成进行了非常基本的概述:

    你看,Excel 97-2003文件是OLE复合文档,本质上是文件 单个文件中的系统。这些内容非常复杂,你必须阅读 另一份9页的规范来解决这个问题。这些规格看起来更像C数据 结构比我们传统上认为的规范要复杂。它是一个完整的层次结构文件 系统。

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

        2
  •  12
  •   John Millikin    16 年前

    二进制.doc文件的完整格式记录在 this pdf 从( the Wikipedia article on .doc )

        3
  •  5
  •   jfs    16 年前

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

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

    这是 为什么? ,为 怎样 你必须阅读其他人已经链接到的规范;)

    如果你想简单地处理文件,请确保你的软件在安装了Word的Windows计算机上运行,然后使用COM/OLE Automation打开和操作文档。那你就不用担心文件格式了。

        4
  •  1
  •   Marek Grzenkowicz    14 年前

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

        5
  •  1
  •   JosephStyons    11 年前

    .doc格式相当复杂。与大多数Microsoft格式一样,它反映了版本和传统支持之间的长期变化历史。他们不久前发布了它,所以如果你想查看它(和其他Office 2007之前的格式), knock yourself out here .

        6
  •  0
  •   Devin Reams    16 年前

    有微软Word的.doc,然后是纯文本.doc。听起来你好像在想微软的专有格式。

    来自 Wikipedia :

    DOC格式因Microsoft Office Word格式而异。97之前的Word版本使用了与97到2003之间的Microsoft Word版本不同的格式。

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

    推荐文章