Heim

Dateiformat

Ein Dateiformat definiert die Syntax und Semantik von Daten innerhalb einer Datei. Es stellt damit eine bidirektionale Abbildung von Information auf einen eindimensionalen binären Speicher dar.

Die Kenntnis des Dateiformats ist essentiell für die Interpretation der in einer Datei abgelegten Information. Moderne Betriebssysteme ordnen Dateien über das Dateiformat Anwendungen zu, die die Dateien interpretieren können.

Inhaltsverzeichnis

Entstehung und Bedeutung des Dateiformats

Dateiformate werden in der Regel durch Hersteller von Computersoftware oder durch ein standardisierendes Gremium festgelegt. Bei Formaten, die nur durch einen Hersteller festgelegt wurden, spricht man auch von proprietären Dateiformaten. Auch aus proprietären Dateiformaten können sich Standardformate entwickeln, wenn sie dokumentiert sind und von anderen aufgegriffen werden. Standardformate machen es möglich, dass Software verschiedener Hersteller mit den gleichen Dateiformaten arbeitet.

Organisationen des Archivwesens arbeiten seit einigen Jahren an der Erstellung von Dateiformat-Verzeichnissen (file format registries), welche die automatisierte Erkennung von Formaten ermöglichen und Informationen zu deren Benutzung bereitstellen.

Spezifikationen

In einer Spezifikation sollte die Art der Codierung und Anordnung von Daten innerhalb eines Dateiformats genau beschrieben werden. Für viele Dateiformate sind die Spezifikationen veröffentlicht, andere Spezifikationen werden als Geschäftsgeheimnisse behandelt, und ebenso gibt es Dateiformate, die überhaupt nicht schriftlich dokumentiert sind.

Erkennung von Dateiformaten

Die Erkennung des Formats einer Datei ist notwendig, um die in der Datei enthalte Information interpretieren zu können. Das Dateiformat kann auf drei verschiedene Arten automatisch ermittelt werden:

Interpretation des Dateinamens

Eine häufig verwendete Methode, um Dateiformate zu unterscheiden, ist die Interpretation des Dateinamens. Üblicherweise wird hierzu lediglich die Dateinamenserweiterung herangezogen. Diese Methode wird zum Beispiel von Betriebssystemen Mac OS X, CP/M, DOS und Windows angewandt, und auch in Entwickler-Tools wie "make" (hier unabhängig vom Betriebssystem). Dabei wird der letzte Punkt im Dateinamen als Trennzeichen betrachtet und der folgende Erweiterungsteil als Kennung für das Dateiformat verwendet. Da in alten Betriebssystemen diese Dateinamenserweiterungen auf drei Zeichen beschränkt waren, werden auch heute noch die meisten Dateiformate durch eine ein- bis dreistellige Kennung identifiziert (wie z.B. ".C" oder ".exe").

Da das Verändern der Dateinamenserweiterung durch nicht geschulte Benutzer zu Problemen führt (eine Datei ist keiner oder der falschen Anwendung zugeordnet) hat sich z.B. Microsoft in neueren Windows-Versionen dazu entschlossen, standardmäßig die Dateinamenerweiterung zu verbergen, was zu einigen neuen Problemen geführt hat, wie zum Beispiel dazu, dass Viren eine "doppelte Dateiendung" erhalten, wodurch eine ausführbare Datei "kournikova.jpg.exe" als vermeintliche Bilddatei "kournikova.jpg" anzeigt wird.

Interpretation des Dateiinhalts

Zur Interpretation des Dateiinhalts wird die Datei oder Teile der Datei eingelesen und auf bekannte Muster untersucht.

UNIX-artige Betriebssysteme unterstützen diese Methode durch die Verwendung von magischen Zahlen. Das Dateiformat wird dadurch erkannt, dass die Datei mit der magischen Zahl beginnt, die mit dem Dateiformat verknüpft ist.

Interpretation von Metadaten

Die einzig zuverlässige Methode der Bestimmung des Dateiformats ist es, zusammen mit der Datei Metadaten abzulegen bzw. zu übermitteln, die das Dateiformat exakt definieren. Im Internet werden solche Metadaten in Form von MIME-Typen übermittelt. Manche Betriebssysteme legen Metadaten im Dateisystem ab.

Siehe auch

Literatur