📄 Visuelle Erklärung

.doc und .docx – was steckt in einer Word-Datei?

Zwei völlig verschiedene Welten: Die alte .doc ist ein binäres Mini-Dateisystem mit Sektoren und Verkettungstabellen, die moderne .docx ein ZIP-Archiv voller XML-Dateien. Beides wird hier aus echten Bytes aufgebaut, markiert und Schritt für Schritt gelesen.

🔢Die ersten Bytes verraten alles

Dateiendungen lassen sich umbenennen – die Signatur am Dateianfang nicht. So erkennen Programme wie file, was wirklich in einer Datei steckt.

🧱 .doc (Word 97–2003)

binär
D0CF11E0A1B11AE1

Compound File Binary Format (CFB, auch OLE2 oder „Structured Storage“): ein FAT-Dateisystem in der Datei. Die Signatur liest sich spielerisch als „DOCFILE“ (D0 CF 11 E0). Dieselbe Hülle nutzen .xls, .ppt, .msg und vbaProject.bin.

🗂️ .docx (ab Word 2007)

ZIP + XML
50 P4B K0304

Ein gewöhnliches ZIP-Archiv nach den Open Packaging Conventions (ECMA-376 Teil 2). Umbenennen in .zip und entpacken genügt, um die XML-Dateien (WordprocessingML) zu sehen.

🏗️Zwei Architekturen im Überblick

beispiel.doc
┌──────────────────────────────┐
│ Header 512 B, Signatur, DIFAT│
├──────────────────────────────┤
│ Sektor 0   FAT               │ ← wer folgt auf wen?
│ Sektor 1   Verzeichnis ──┐   │
│ Sektor 2…  WordDocument  │   │ ← FIB + Text
│ …          1Table        │   │ ← Piece Table, Formate
│ …          MiniFAT       │   │
│ …          Mini-Stream ◄─┘   │ ← kleine Streams
└──────────────────────────────┘

Alles sind Zahlen und Offsets. Ohne Spezifikation ([MS-CFB], [MS-DOC]) ist der Inhalt kaum lesbar.

beispiel.docx  (ZIP)
├── [Content_Types].xml    ← MIME-Typen
├── _rels/.rels            ← Einstieg
├── docProps/core.xml      ← Titel, Autor
├── docProps/app.xml
└── word/
    ├── document.xml       ← der Text
    ├── styles.xml         ← Formatvorlagen
    ├── settings.xml
    ├── _rels/document.xml.rels
    └── media/image1.png

Lesbares XML, verknüpft über Relationships (r:id). Standardisiert als ECMA-376 und ISO/IEC 29500.

🧭Kapitel

🕰️Zeitleiste

  1. 1997
    Word 97 führt das .doc-Format mit nFib 0x00C1 ein – bis Word 2003 Standard.
  2. 2006
    ECMA-376 (1. Ausgabe): Office Open XML wird als ECMA-Standard verabschiedet.
  3. 2007
    Word 2007 speichert standardmäßig .docx; .docm für Dokumente mit Makros.
  4. 2008
    ISO/IEC 29500 (Strict + Transitional). Microsoft legt [MS-DOC] und [MS-CFB] offen.
  5. 2013
    Word 2013 kann „Strict Open XML“ speichern; Kompatibilitätsmodus 15.
  6. 2022
    Office blockiert VBA-Makros in Dateien aus dem Internet (Mark-of-the-Web) standardmäßig.