# Dateiformat

Als Dateiformat wird in der Informatik die vom Inhalt abhängige innere Struktur einer Datei bezeichnet. Ein Dateiformat ist auch gleichzeitig ein Datenformat, nicht jedoch umgekehrt.

## Allgemeines

Der Inhalt einer Datei (Bilder, Filme, Grafiken, Musik, Texte, Videos, Zahlzeichen, Zeichnungen) entscheidet über das zu verwendende Dateiformat. Es definiert unter anderem die Zugehörigkeit, Aufgabe und Klasse einer Datei (Betriebssystemdatei oder Textdatei usw.) In welchem Dateiformat eine Datei gespeichert wurde, lässt sich teilweise an ihrer Dateinamenserweiterung erkennen (etwa „*.exe“ für ein ausführbares Computerprogramm oder „*.doc“ für eine Microsoft-Textdatei). Das Dateiformat stellt eine bidirektionale Abbildung von Information auf einen eindimensionalen binären Datenspeicher 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 beim Computer notwendig, um die in der Datei enthaltene Information interpretieren zu können. Das Dateiformat kann auf drei verschiedene Arten automatisch ermittelt werden:
* Interpretation des Dateiinhalts,
* Interpretation des Dateinamens,
* Interpretation von Metadaten.
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 normalerweise der letzte Punkt im Dateinamen als Trennzeichen betrachtet und der folgende Erweiterungsteil als Kennung für das Dateiformat verwendet, es gibt allerdings auch Erweiterungen die selbst einen Punkt enthalten, beispielsweise .tar.gz (ein mit gzip komprimiertes tar-Archiv) oder .txt.bak (die Sicherheitskopie, englisch Backup, einer Textdatei), sodass die Annahme mancher Programme oder Anwender, nur der letzte Punkt bestimme das Dateiformat, nicht in jedem Fall bzw. zumindest nicht zur Gänze korrekt ist. Da jedoch in einigen nunmehr historischen Betriebssystemen Dateinamenserweiterungen auf drei Zeichen beschränkt waren (u. a. bei DOS als 8.3 bekannt), werden auch heute noch viele 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ühren kann (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 allerdings zu neuen Problemen bzw. auch Gefahren geführt hat, wie zum Beispiel dazu, dass so manches Schadprogramm eine „doppelte Dateiendung“ verwendet, wodurch eine ausführbare Datei kournikova.jpg.exe im Dateinamen als vermeintliche Bilddatei kournikova.jpg angezeigt wird, wohingegen der Dateityp (die entsprechende Spalte z. B. im Windows-Explorer) korrekt als „ausführbare Programmdatei“ angegeben ist. Dieser zusätzlichen Spalte für den Dateityp schenken jedoch Anwender oftmals nicht genügend Beachtung.

### 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.

## Arten

Die vom Nutzer angelegten Dateien lassen sich im Hinblick auf die gespeicherten Inhalte wie folgt einteilen:
| Dateityp | Dateiinhalt |
| Audiodatei | Musik, Geräusche, Sprache |
| Bilddatei | unbewegte Bilder, Fotos, Grafiken, Zeichnungen |
| Textdatei | darstellbare Zeichen, insbesondere Buchstaben, Zahlzeichen und Sonderzeichen |
| Videodatei | bewegte Bilder und gegebenenfalls ein Begleitton |
Das Anwendungsprogramm identifiziert den jeweiligen Dateityp an der Dateiendung, die hinter dem Dateinamen von diesem durch einen Punkt getrennt ist. An der Dateiendung lässt sich für den Nutzer meist erkennen, welche digitalen Daten gespeichert sind und für welches Programm sie angelegt wurde. Dateiendungen .bat (Batch-Datei) oder .sys (Systemdatei) dienen dem Betrieb eines Computers und werden direkt vom Betriebssystem geladen und ausgeführt.

### Audiodateien

Die wichtigsten Dateiformate für Audiodateien sind:
| Dateiformat | Dateiendung |
| Advanced Audio Coding | *.aac u. a. |
| Advanced Streaming Format | *.asf |
| SND | *.au |
| Moving Picture Experts Group | *.mp3 |
| Opus (Echtzeitübertragung) | *.opus |
| RIFF WAVE | *.wav |
| OGG-VORBIS | *.ogg u. a. |
| Windows Media Audio | *.wma |
Einige Formate enthalten zusätzliche Funktionen, so lassen sie zum Beispiel variable Bitraten zu oder können zusätzliche Informationen wie Interpret, Autor oder Musiktitel des Audioinhalts in sogenannten ID3-Tags speichern.

### Bilddateien

Die wichtigsten Dateiformate für Bilddateien sind:
| Dateiformat | Dateiendung |
| Autodesk Animator | *.flc |
| Windows Bitmap | *.bmp |
| CALS-Rastergrafik | *.cal, *.dcl, *.ras, *.mil |
| Graphics Interchange Format | *.gif |
| JPEG-File-Interchange-Format-Bildformat | *.jpg, *.jpeg |
| macOS Bildformat | *.PICT |
| Picture exchange Bildformat | *.pcx |
| Portable Document Format | *.pdf |
| Portable Network Graphics | *.png |
| Rohdatenformat | *.exif |
| Tagged Image File Format | *.tif |
| Windows Metafile | *.wmf u. a. |
Gängig sind auch EPS, CDR oder SVG für Vektorgrafiken. Bei Bilddateien einer Digitalkamera handelt es sich stets um Rastergrafiken. Mit diesen Dateien können Texte, Rastergrafiken und Grafiken gespeichert werden.
Der Inhalt der Datei wurde entweder digital errechnet (siehe errechnetes Bild) oder durch Analog-Digital-Wandlung digitalisiert und kann daher vom menschlichen Betrachter unmittelbar weder als Bild erkannt noch als Text gelesen werden. Zur Visualisierung wird ein Wiedergabegerät benötigt, das den Inhalt wieder in analoge Daten zurückwandelt (sog. Digital-Analog-Wandlung); ein solches Gerät ist der Computer, der mit Hilfe einer Bildbetrachtungssoftware das Bild am Monitor visualisieren kann.

### Textdateien

Die wichtigsten Dateiformate für Textdateien sind:
| Dateiformat | Dateiendung |
| Textdatei | *.txt |
| Microsoft Word | *.doc |
| Office Open XML | *.docx und andere |
| Microsoft Access | *.acc |
| Microsoft PowerPoint | *.ppt und andere |
| OpenDocument | *.odt und andere |
| Apple Pages | *.pages |
| Portable Document Format | *.pdf |
| Rich Text Format | *.rtf |
| Microsoft Excel | *.xls und andere |
| Extensible Markup Language | *.xml |
Es werden Texte, Sonderzeichen, aber auch Grafiken und Tabellen gespeichert.

### Videodateien

Die wichtigsten Dateiformate für Videodateien sind.
| Dateiformat | Dateiendung |
| Adobe Flash | *.swf |
| Advanced Streaming Format | *.asf |
| Audio Video Interleave | *.avi |
| Flash Video | *.flv |
| QuickTime | *.mov |
| RealMedia | *.rm |
| Windows Media Video | *.wmv |
| 3rd Generation Partnership Project | *.3gp |
Digitales Fernsehen komprimiert die Fernsehnorm PAL mit dem Standard MPEG-2, Ultra High Definition Television (UHDTV) nutzt MPEG-4.
Von der Videodatei ist das Videoformat zu unterscheiden. Letzteres ist die Zusammenfassung aller audiovisuellen Spezifikationen eines Videos, nämlich Bildauflösung, Bildwiederholungsrate, Farbtiefe und Tonspur.

## Mögliche Einteilungen

Dateiformate können nach vielen Kriterien eingeteilt werden. Verbreitete Kriterien sind zum Beispiel:
* textuell gegenüber binär:
    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 einen deutlich geringeren Speicherbedarf haben. Demgegenüber haben heutzutage die textuellen Dateiformate eine zunehmende Verbreitung. Dies gilt insbesondere für das Metaformat XML.
* Daten gegenüber ausführbare Anwendung;
* nach Inhaltstyp: Audio-, Bild-, Text- oder Videoformate;
* offen gegenüber proprietär;
* verbreitet gegenüber selten usw.

### Proprietäre Formate

Herstellerspezifische (proprietäre) Dateiformate erzeugen mitunter eine Abhängigkeit vom entsprechenden Softwarehersteller (und dessen unterstützten Plattformen), insbesondere, wenn
* der interne Aufbau zusätzlich durch Softwarepatente geschützt wird;
* das Format geistiges Eigentum der Firma ist und aus wirtschaftlichen Interessen (Kundenbindung) nicht der Öffentlichkeit bekanntgegeben wird.
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 Kaufpreise.
Mitunter dürfen proprietäre oder patentgeschützte Formate gegen Lizenzzahlung auch von Drittfirmen verwendet werden und erreichen hierdurch eine Verbreitung, welche für ausreichende 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.)