Dateiformat

Ein Dateiformat definiert die Syntax (erlaubte Werte, formaler Aufbau/„Grammatik“) und Semantik (Bedeutung und Interpretation) 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.

Entstehung und Bedeutung des Dateiformats

Dateiformate werden in der Regel durch Software-Hersteller 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 (englisch file format registries), welche die automatisierte Erkennung von Formaten ermöglichen und Informationen zu deren Benutzung bereitstellen.

Das Format von Datenbeständen, die nur innerhalb einer bestimmten Anwendung verwendet werden (das gilt auch für Individualsoftware), wird auch als „natives Dateiformat“ bezeichnet.

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 außerhalb der sie interpretierenden Programme dokumentiert sind.

Erkennung von Dateiformaten

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

Häufig wird das Format nicht erkannt, sondern einfach vorausgesetzt – es liegt dann in der Verantwortung des Benutzers, mit dem Computerprogramm nur „geeignete“ Dateien zu öffnen.

Interpretation des Dateiinhalts

Zur Interpretation des Dateiinhalts werden die Datei oder Teile der Datei eingelesen und auf bekannte Muster untersucht. Häufig werden dazu magische Zahlen verwendet. Das Dateiformat wird dadurch erkannt, dass die Datei mit der magischen Zahl beginnt, die mit dem Dateiformat verknüpft ist.

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 den Betriebssystemen macOS, CP/M, DOS und Windows und auch in Entwickler-Tools wie make (hier unabhängig vom Betriebssystem) angewandt. 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 zum Beispiel .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 beispielsweise Microsoft in neueren Windows-Versionen dazu entschlossen, standardmäßig die Dateinamenserweiterung 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 angezeigt wird.

Interpretation von Metadaten

Die einzig zuverlässige Methode der Bestimmung des Dateiformats ist es, zusammen mit der Datei Metadaten abzulegen beziehungsweise 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.

Mögliche Einteilungen

Dateiformate können nach vielen Kriterien eingeteilt werden. Verbreitete Kriterien sind zum Beispiel:

Dateien eines textuellen Formats können mit einem einfachen, allgemeinen Editor eingelesen, betrachtet und verändert werden; Binär-Dateien sind nur mit speziell geeigneten Anwendungen verständlich. Binär codierte Dateiformate wurden früher häufig gegenüber den textuellen Dateiformaten bevorzugt, weil sie deutlich weniger Speicherplatz beanspruchen. Demgegenüber haben heutzutage die textuellen Dateiformate eine zunehmende Verbreitung. Dies gilt insbesondere für das Metaformat XML.

usw.

Proprietäre Formate

Urheberrechtlich geschützte (proprietäre) Dateiformate erzeugen mitunter eine Abhängigkeit vom entsprechenden Softwarehersteller (und dessen unterstützten Plattformen), insbesondere wenn

So können keine Programme von Drittanbietern oder quelloffen (Open Source) für dieses Format entwickelt werden.

Es ergeben sich Risiken wie z.B. eine Insolvenz des Herstellers, Einstellung der Weiterentwicklung des Produkts (zumindest für die gewählte Plattform), Erhöhung der Lizenzgebühren (siehe z.B. GIF-Patentgebühren) oder Preise.

Mitunter dürfen proprietäre oder patentgeschützte Formate gegen Lizenzzahlung auch von Drittfirmen verwendet werden und erreichen hierdurch eine Verbreitung, welche für ausreichend Unabhängigkeit von einem einzigen Anbieter sorgt (z.B. das binäre GIF-Grafikformat – Patente darauf jedoch 10/2006 abgelaufen).

Damit eignen sich proprietäre Binärformate nur bedingt zur Archivierung von Datenbeständen, es sei denn, das Format ist allgemein gebräuchlich. Auch müssen ältere Dokumente, wenn diese lesbar bleiben sollen, bei einer Softwareaktualisierung mitunter auf die neue Version des Formates konvertiert werden. Das ist zwar ebenso bei der Weiterentwicklung freier Formate der Fall, aber durch die Offenlegung bleibt die alte Version des Formats zumindest prinzipiell erreichbar.

Versionen

Ebenso wie sich Anwendungsprogramme weiterentwickeln, unterliegen auch Dateiformate meist einer Fortentwicklung, so dass neue Versionen entstehen. Bei vielen Dateiformaten wird bereits bei der Entwicklung auf einfache Unterstützung von Aufwärtskompatibilität geachtet. ( Abwärtskompatibilität ist hingegen ein weitgehend auf das Anwendungsprogramm beschränktes Problemfeld.)

Siehe auch

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 19.10. 2023