Dateien

=Dateiformat=

Dateinamenserweiterung
Die meisten Dateien besitzen im Dateinamen mit Punkt abgetrennte - meistens dreistellige - Endungen, welche einen Hinweis darauf liefern, von welchem Programm diese Dateien möglicherweise erzeugt wurden. Solche Endungen nennt man Dateinamenserweiterungen oder auch Datei-Suffixe. Die Bedeutung von Groß- und Kleinschreibung wird bei dieser Art der Datei-Kennzeichnung ignoriert. Es wird von uns Computernutzern bei der täglichen Arbeit stets darauf spekuliert, dass das von uns erwartete Format in dieser Datei tatsächlich existiert. Das ist nicht immer so, denn versierte Nutzer und Programmierer können eine Datei beliebig benennen und dann auch noch mit beliebigen Bytes füllen. Mit etwa 36 verschiedenen Zeichen (Alphabet+Zahlen 0-9) gibt es begrenzte Möglichkeiten, eine 3-stellige Dateiendung zu erfinden. So werden z.B. diverse Dateiendungen von verschiedenen Programmen für unterschiedliche Formate verwendet. Inzwischen werden aber auch ganz gerne weitere Stellen hinzugenommen (Beispiele: *.html, *.aiff, *.tiff). Eine Datei wird von den gängigen Betriebssystemen entsprechend der Dateiendung einem Programm zugeordnet, welches daraufhin gestartet wird, um mit dieser Datei weiterzuarbeiten (anzeigen, drucken, verändern, ...). Jedes Programm tut daran, nach dem Öffnen der Datei sofort zu prüfen, ob der Inhalt der Datei tatsächlich dem gewünschten Format entspricht.

Magic Number
Meistens verraten die ersten Bytes im Kopf einer binär kodierten Datei deren Format. Diese ersten Bytes werden als Magic Number bezeichnet. Die Magic Number bestimmt das Dateiformat eindeutiger als die Zeichen der Dateinamenserweiterung. Überschneidungen bei "magischen Zahlen" gibt es deutlich seltener als bei den Dateinamenserweiterungen. Die Magic Number kann im Gegensatz zum Datei-Suffix auch nicht einfach geändert werden, denn dann ist die Datei beschädigt und kann nicht mehr gelesen werden. Es gibt übrigens keine zentrale Vergabestelle für diese characteristischen Bytes. Die Magic Number, welche für alle Dateien eines Dateiformats verwendet werden soll, wird vom Programmierer einmalig "eben mal selbst ausgedacht" und wie er das macht ist "magisch". ;-) Entspricht eine Magic Number nach dem Lesen der ersten Bytes einer Datei nicht den Erwartungen, so gibt es eine Fehlermeldung und das Laden der Datei kann bereits nach den ersten Bytes abgebrochen werden. Textformate (*.txt, *.html usw.) können mit einem einfachen Editor gelesen werden und besitzen keine Magic Number.

Siehe folgende Links für weitere Infos ...
 * @http://krazydad.com/fieldguidetofiles.php
 * @http://www.openthefile.org/de/ bzw. @http://www.openthefile.org/
 * @http://www.htofe.com/de/various-files
 * @http://www.kornzauber.de/
 * @http://www.garykessler.net/library/file_sigs.html
 * @http://de.wikipedia.org/wiki/Magische_Zahl_%28Informatik%29
 * @http://en.wikipedia.org/wiki/Magic_number_%28programming%29

Was ist ein Dateiformat?
Wie Sie leicht aus den obigen Ausführungen erkennen können, ist das Format einer Datei (die syntaktisch und semantisch eindeutige Beschreibung eines erwarteten Inhalts) nicht eindeutig aus der Dateiendung zu erkennen und auch das Programm - welches diese Datei zu bearbeiten hat - ist damit nicht eindeutig festgelegt. Eine genauere Beschreibung eines Dateiformats bekommt man, indem man eine sogenannte Spezifikation schreibt und diese dann durch ein Standardisierungsgremium standardisieren läßt. Dieses Verfahren ist bei Programmierern nicht sehr beliebt, da es lange dauert und die eigene Kreativität stark einschränkt. Auch der Wettbewerb mit konkurrierenden Firmen sorgt dafür, dass manche sogenannten proprietären Erweiterungen eines Standards von marktführenden Unternehmen bestehenden Dateiformaten hinzugefügt werden, so dass nur noch das eigene Programm solcherart geschriebene Dateien lesen kann. Dieses Prinzip wurde von Microsoft oft und gerne angewandt, um Wettbewerber aus dem Markt zu drängen und den Absatz der neuesten Versionen anzukurbeln.

Was kann in den Metadaten im Kopf einer Datei stehen?
Das oft angewandete Prinzip der proprietären (herstellerspezifischen) Erweiterungen führte zu einer großen Unzufriedenheit in der Softwarebranche, so dass standardisierte sowie flexiblere, erweiterbare und offenere "Formate" gefordert wurden. Dieses führte dazu, dass zusätzlich zu den Magic Numbers und den Nutzdaten nun weitere die Daten beschreibende Informationen in die Header der Dateien aufgenommen wurden - die sogenannten Metadaten. Beschreibungsdaten, welche die eigentlichen Nutzdaten (z.B. Bilddaten) genauer kennzeichnen sind Metadaten. Die Menge der Beschreibungsdaten nahm zu und die Art der Speicherung wurde flexibler, so dass es heute üblich ist, sehr viele Beschreibungsdaten mitzuliefern, welche nicht unbedingt von allen Programmen - welche vorgeben, dieses Format zu unterstützen - tatsächlich auch angezeigt, ausgewertet bzw. genutzt werden. Wenn man beliebige Beschreibungsdaten in den Header schreiben kann, dann kann man natürlich auch verschiedene Nutzdaten in einem Dateiformat unterbringen. Sobald mehrere unterschiedliche Arten von Nutzdaten in Dateiformaten untergebracht werden können, spricht man bei diesen Formaten von Containerformaten. Dateien, welche auf Containerformaten basieren, enthalten also möglicherweise verschiedenste "Formate", was es Programmen sehr schwer macht, alle möglichen Varianten eines solchen "Dateiformats" zu unterstützen.

Was steht sonst noch in der Datei?
Die eigentlichen Nutzdaten stehen selbstverständlich dann auch noch in der Datei, z.B. ...
 * 1) in *.txt-Dateien entsprechend ANSI-Standard kodierte Texte
 * 2) in *.exe-Dateien die auszuführenden Befehle des Computerprogramms
 * 3) in *.bmp-Dateien die Farben der gespeicherten Pixel jeweils für die Farben rot, grün und blau

Was sind Systemdateien?
Systemdateien sind Dateien, welche zum Betriebssystem gehören. Besonders wichtige Systemdateien können sogar vor dem Nutzer des Computers "versteckt" werden. Überprüfung: Reparatur:
 * @http://windows.microsoft.com/de-de/windows-vista/what-is-a-system-file
 * @http://praxistipps.chip.de/geschutzte-windows-systemdateien-anzeigen_1285
 * @http://www.winfaq.de/faq_html/Content/tip0500/onlinefaq.php?h=tip0503.htm
 * @http://praxistipps.chip.de/windows-defekte-systemdateien-reparieren_30082

Checksummen / Fehlerhafte Übertragung großer Dateien vermeiden
Wenn Sie sicherstellen wollen, dass Ihre Dateien vollständig korrekt übertragen werden, dann sollten Sie Checksummen nutzen! Die Nutzung von Checksummen bietet Schutz vor Fehlern und Manipulation und ist wichtig bei ...
 * 1) Datensicherung/Backup
 * 2) Archivierung
 * 3) Übertragung wichtiger Informationen und Dateien über das Internet

Infos (Grundwissen, Anwendung)

 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/Pruefsummen/Hintergrundwissen/hintergrundwissen.html
 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/Pruefsummen/pruefsummen.html
 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/Pruefsummen/Nutzen/nutzen.html
 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/Pruefsummen/Kurzanleitung/kurzanleitung.html
 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/Pruefsummen/Programme/programme.html
 * @https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Schutzprogramme/schutzprogramme.html
 * @http://wiki.ubuntuusers.de/md5sum
 * @http://www.pro-linux.de/artikel/2/131/2,ueberpruefen-des-linux-systems-auf-veraenderungen-im-taeglichen-gebrauch.html

Anzeige von beliebigen Daten in HEX-Darstellung

 * @http://www.drwindows.de/editoren/37612-winhex-hex-editor-und-disc-editor.html
 * @http://www.sf-soft.de/winhex/index-d.html
 * @http://hexed.it/

Aufgabe 1: Dateinamenserweiterungen
mit dem Programm ... ||~ Andere Programme, die solche Dateien verwenden ||
 * 1) Notieren Sie 10 Dateinamenserweiterungen von Dateiformaten mit denen Sie arbeiten! Hilfreiche Links finden Sie oben im Text.
 * 2) Schlagen Sie im Internet nach, ob diese Suffixe vielleicht auch noch von anderen Programmen genutzt werden.
 * 3) Bei welchen der genannten Formate handelt es sich um Textformate, die von einem einfachen Editor wie Notepad angezeigt werden können?
 * ~ Dateiendung ||~ Von mir verwendet
 * *.doc || Microsoft Word || Microsoft Write, Corel WordPerfekt, ... ||

Aufgabe 3: Magic Numbers von Audio, Video und Textformaten
Notieren Sie 10 Magic Numbers von Dateiformaten mit denen Sie arbeiten! Hilfreiche Links finden Sie oben im Text. (in HEX-Darstellung) ||~ Format ||~ Verwendbar mit folgendem Programm ||
 * ~ Magic Number
 * 25 50 44 46 || ... || ... ||

Aufgabe 4: Magic Numbers von ausführbaren Dateien Programmen
(MS-Windows: MAC, COM, EXE, PIF, BAT, JAR, ..., Apple MAC OS X: ???, ... Android: ???) Ausführbare Dateien können gefährlich sein (z.B. Viren). Notieren Sie 10 Magic Numbers von ausführbaren Dateiformaten! Hilfreiche Links finden Sie oben im Text. (in HEX-Darstellung) ||~ Format ||~ Auf welchen Systemen sind diese Dateien ausführbar? ||
 * ~ Magic Number
 * CA FE BA BE || Java *.class || Alle Betriebssysteme mit JAVA ||

Weitere Infos

 * 1) @http://www.astro.keele.ac.uk/oldusers/rno/Computing/File_magic.html
 * 2) @http://reutershagen.de/kurse/formate/
 * 3) @http://www.endungen.de/
 * 4) @http://nestor.sub.uni-goettingen.de/handbuch/artikel/nestor_handbuch_artikel_172.pdf
 * 5) @http://www.linux-praxis.de/linux1/man/file.html
 * 6) @http://www.computerhilfe-euskirchen.de/hilfetexte/systemold/dateiendungen/index.html
 * 7) @http://www.netzwelt.de/dateierweiterung/index.html Audio und Video
 * 8) @http://en.wikipedia.org/wiki/DOS_MZ_executable
 * 9) @http://www.garykessler.net/library/file_sigs.html
 * 10) @http://asecuritysite.com/forensics/magic

=Lösungen=

Aufgabe 1:
mit dem Programm ... ||~ Andere Programme, die solche Dateien verwenden ||
 * ~ Dateiendung ||~ Von mir verwendet
 * PSD || Photoshop || Indesign, ... ||
 * JPG || Photoshop, GIMP, ... || Paint, Windows-Photoanzeige ||
 * FLV || After Effects, Media Encoder || Flash-Player, VLC-Player ||
 * MP4 || Premiere || Final Cut, After Effects ||
 * PDF || Adobe Acrobat ||  ||
 * WAV || ProTools || Jede Audio-Software ||
 * MP3 || Audition, Wavelab, .. ||  ||
 * MOV || Quicktime || VLC ||
 * RAW || Red, Arri Alexa, Photoshop, ... || IrfanView? ||

Aufgabe 2:
to do

Aufgabe 3: Magic Numbers von Audio, Video und Textformaten

 * ~ Magic Number ||~ Format ||~ Programm (Beispiele) ||
 * 25 50 44 46 (%PDF) || PDF || Acrobat Reader ||
 * FF D8 FF E0 || JPEG || Photoshop ||
 * 00 00 00 18 ... || MP4 || VLC ||
 * 89 50 4E 47 ... || PNG || Photoshop ||
 * 6D 6F 6F 76 || MOV || Quicktime ||
 * 52 49 46 46 || WAV || ProTools, Audition ||


 * 38 42 50 53 || PSD || Photoshop ||
 * FF D8 FF E0 || JPG || Photoshop, GIMP, ... ||
 * 46 4C 56 01 || FLV || After Effects, Media Encoder ||
 * 00 00 00 nn 66 74 79 70 33 67 70 35 || MP4 || Premiere ||
 * 25 50 44 46 || PDF || Adobe Acrobat ||
 * 52 49 46 46 || WAV || ProTools ||
 * 49 44 33 || MP3 || Audition, Wavelab, .. ||
 * 71 74 (qt), 6D 6F 6F 76 (mov) || MOV || Quicktime ||
 * || RAW || Red, Arri Alexa, Photoshop, ... ||
 * 49 49 2A 00 10 00 00 00 43 52 || CR2 || Canon ||

Aufgabe 4:
to do