Eine Datei ist eine Ansammlung binärer Daten, also eine Aneinanderreihung von Bits. Die binäre Darstellung der Datei, in welcher dieser Text gespeichert ist, beginnt so:
00100011 00100000 01000100 01100001 01110100 01100101 01101001 01100101 01101110 00001010 00101101 00101101 00101101 00001010 00001010 01000101 01101001 01101110 01100101 00100000 01000100 01100001 01110100 01100101 …
Dateiformat
Die für eine Datei verwendete Codierung wird auch Dateiformat genannt. Anhand der binären Daten alleine ist nicht erkennbar, was für eine Codierung für eine Datei verwendet wurde.
Ohne diese zusätzliche Information können die Daten aber nicht decodiert werden. Bei jeder Datei muss also zusätzlich angegeben werden, welche Codierung für diese Datei verwendet wurde.
Es gibt drei Ansätze, das Dateiformat (also die Codierung) einer Datei zu erkennen:
-
Dateiendung
-
Magische Bytes
-
Internet Media Type
Dateiendung
Eine Dateiendung wie .docx oder .jpg wird an den Dateinamen angehängt. Eine Dateiendung beginnt immer mit einem Punkt. So wird sie vom Dateinamen abgetrennt. Ein Betriebssystem wie Windows oder macOS verwendet die Dateiendung, um zu ermitteln, mit welcher Anwendung eine Datei geöffnet werden soll.
Magische Bytes
Viele Dateiformate verwenden magische Bytes am Dateianfang zur Kennzeichnung, wie die enthaltenen Informationen codiert sind.
Beispielsweise beginnt jede .jpg-Datei mit der Bitfolge 11111111 11011000 11111111
. Diese Darstellung ist etwas lang und umständlich, daher wird häufig das Hexadezimalsystem (16-er System) verwendet.
Internet Media Type
Der Internet Media Type oder MIME-Type ist ein Standard, mit welchem Codierungen für die Übermittlung von Daten im Internet angegeben werden. So teilt ein Webserver einem Browser per Internet Media Type mit, ob er einen Text, ein Bild oder ein Video übermittelt. Auch bei der Übermittlung von E-Mails wird dieses System verwendet.
Ein Internet Media Type besteht immer aus einem Haupt- und einem Untertype. Es gibt folgende Haupttypen:
Typ | Bedeutung |
---|---|
application | anwendungsspezifische Codierungen |
audio | Audiodaten |
image | Grafiken |
text | für Text |
video | für Videomaterial |
Wichtige Dateiformate
Bezeichnung | Dateiendung | Internet Media Type | Magische Bytes |
---|---|---|---|
JPEG-Bild | .jpg / .jpeg | image/jpeg | FF D8 FF |
Portable Network Graphics | .png | image/png | 89 50 4E 47 0D 0A 1A 0A |
ZIP-Datei | .zip | application/zip | 50 4B 03 04 |
Word-Datei | .docx | application/vnd.openxmlformats… | 50 4B 03 04 (ist eigentlich eine ZIP-Datei) |
Excel-Datei | .xlsx | application/vnd.openxmlformats… | 50 4B 03 04 (ist eigentlich eine ZIP-Datei) |
Portable Document Format | application/pdf | 25 50 44 46 2D | |
Textdatei | .txt | text/plain | reine Textdatei (ohne magische Bytes) |
Webseite | .html | text/html | reine Textdatei (ohne magische Bytes) |
Python-Programm | .py | text/python | reine Textdatei (ohne magische Bytes) |
Bei den folgenden Dateien ging die Dateiendung verloren. Finden Sie mit https://hexed.it/ heraus, welche Dateiendung die jeweilige Datei hat, fügen Sie die Dateiendung hinzu und öffnen Sie diese.
6. Dateiformate erkennen