Als erstes Beispiel für ein Dokument wollen wir eine einfache Text-Datei studieren. Unter Windows können wir Text-Dateien mit dem Text-Editor namens "Editor" erzeugen.

Text-Dateien tragen üblicherweise (aber nicht immer!) die Endung ".TXT". Sie haben ein recht einfaches, aber weit verbreitetes Dateiformat, das in vielen Fällen sogar den Datenaustausch zwischen verschiedenen Betriebssystem-Plattformen ermöglicht.
Im Hex-Editor wird die Datei "Beispiel.txt" etwa folgendermaßen dargestellt:

Bei genauerer Betrachtung dieses Beispiels kann man folgendes feststellen:
Die wichtigste Erkenntnis ist, dass der Text offenbar so abgespeichert wird, dass jedem Zeichen eindeutig ein Bytewert entspricht. Die zugrundeliegende Zuordnung zwischen Zeichen und Bytewerten heißt ASCII-Code ("American Standard Code for Information Interchange"). Der ASCII-Code wurde schon 1963 vorgeschlagen; zehn Jahre später hat ihn schließlich die "International Standards Organisation" als internationale Norm festgeschrieben (ISO 636). Weitere historische Details findet man z.B. unter http://telecom.tbi.net/history1.html#ascii.
Zunächst wurden nur die ersten 128 der 256 möglichen Bytewerte mit je einem Zeichen belegt, also all diejenigen Bytewerte, deren höchstwertiges Bit den Wert "0" hat. Die 32 ersten Bytewerte wurden für sogenannte "Steuerzeichen" reserviert, Zeichen also, die normalerweise nicht am Bildschirm dargestellt oder ausgedruckt werden. Die folgende Tabelle zeigt den kompletten ASCII-Code. In jeder Spalte steht links die Hex-Darstellung des Bytes und rechts daneben das zugehörige Zeichen. Bei den Zeichen mit den Nummern 00h bis 1Fh sowie 7Fh ist lediglich eine Beschreibung angegeben, da es sich dabei um nichtdruckbare Zeichen handelt. Das Zeichen mit der Nummer 20h fehlt nicht etwa, sondern es ist das Leerzeichen, das man in der Tabelle (nicht) sieht ;-).
+---------------------------------------------------------------+
| 00 NUL| 01 SOH| 02 STX| 03 ETX| 04 EOT| 05 ENQ| 06 ACK| 07 BEL|
| 08 BS | 09 HT | 0A NL | 0B VT | 0C NP | 0D CR | 0E SO | 0F SI |
| 10 DLE| 11 DC1| 12 DC2| 13 DC3| 14 DC4| 15 NAK| 16 SYN| 17 ETB|
| 18 CAN| 19 EM | 1A SUB| 1B ESC| 1C FS | 1D GS | 1E RS | 1F US |
| 20 | 21 ! | 22 " | 23 # | 24 $ | 25 % | 26 & | 27 ' |
| 28 ( | 29 ) | 2A * | 2B + | 2C , | 2D - | 2E . | 2F / |
| 30 0 | 31 1 | 32 2 | 33 3 | 34 4 | 35 5 | 36 6 | 37 7 |
| 38 8 | 39 9 | 3A : | 3B ; | 3C < | 3D = | 3E > | 3F ? |
| 40 @ | 41 A | 42 B | 43 C | 44 D | 45 E | 46 F | 47 G |
| 48 H | 49 I | 4A J | 4B K | 4C L | 4D M | 4E N | 4F O |
| 50 P | 51 Q | 52 R | 53 S | 54 T | 55 U | 56 V | 57 W |
| 58 X | 59 Y | 5A Z | 5B [ | 5C \ | 5D ] | 5E ^ | 5F _ |
| 60 ` | 61 a | 62 b | 63 c | 64 d | 65 e | 66 f | 67 g |
| 68 h | 69 i | 6A j | 6B k | 6C l | 6D m | 6E n | 6F o |
| 70 p | 71 q | 72 r | 73 s | 74 t | 75 u | 76 v | 77 w |
| 78 x | 79 y | 7A z | 7B { | 7C | | 7D } | 7E ~ | 7F DEL|
+---------------------------------------------------------------+
Gewisse Zeichen wie z.B. "ç", "å", "ß" oder die deutschen Umlaute fehlen im ASCII-Code. Sie werden durch Byte-Werte dargestellt, bei denen das höchstwertige Bit gesetzt ist, deren dezimaler Wert also größer als 127 = 7Fh ist. Der Hex-Editor stellt in der Text-Interpretation des Datei-Inhalts stets nur die druckbaren Zeichen des ASCII-Codes dar; alle anderen Zeichen werden durch einen Punkt (ASCII-Nr. 2Eh) angedeutet.
Eine besondere Rolle spielt die Bytefolge 0Dh 0Ah. Sucht man im Hex-Editor nach dieser Bytefolge und vergleicht mit der Darstellung der entsprechenden Textstelle im Text-Editor, dann wird der Schluss nahegelegt, dass mit dieser Bytefolge Zeilen-Umbrüche kodiert werden. Allerdings werden nur sogenannte "harte" Umbrüche in der Datei vermerkt, also solche, die der Benutzer bei der Eingabe durch Drücken der ENTER-Taste verursacht hat. "Weiche" Zeilenumbrüche, die der Texteditor auf dem Bildschirm selbständig macht, weil der Text dem rechten Rand des Fensters bedrohlich nahe kommt, werden offenbar nicht in die Datei geschrieben.
Ein Mangel des ASCII-Text-Formates ist es, dass keinerlei Textattribute wie Fettdruck, Unterstreichen usw. verfügbar sind. Solche "formatierten Texte" sind die Domäne der sogenannten "Textverarbeitungsprogramme".
Auffällig ist, dass die erzeugte DOC-Datei sehr viel größer ist, als die als Vorlage dienende TXT-Datei. Dies ist insofern erstaunlich, als der einzige Unterschied im Erscheinungsbild der beiden Texte darin besteht, dass das Wort "doch" im WORD-Text in Fettschrift erscheint. Betrachtet man die DOC-Datei nun mit dem Hex-Editor, dann stellt man folgendes fest:
Natürlich ist das Format von DOC-Dateien für weit schwierigere Aufgaben vorbereitet als wir sie hier vorliegen haben. Es ist daher zu erwarten, dass viele der Abschnitte, die jetzt mit informationslosen Wiederholungen desselben Byte-Wertes angefüllt sind, bei einem komplexeren Dokument mit echten Informationen belegt werden. Bemerkenswert ist aber auch, dass WORD ohne unsere explizite Einwilligung recht eigenmächtig eine Menge zusätzlicher Daten in das Dokument packt.
Als weiteres Textformat untersuchen wir eine Beschreibungssprache für Postscript-Drucker. Hierbei wird eine Datei nicht in aufbereiteter Form (meist zur Ansteuerung im Grafikmodus) an den Drucker geschickt und von diesem direkt genutzt, sondern in einer Befehlsform, wie der beigefügte Text zu handhaben und auszugeben ist. Das hat den Vorteil, dass die druckerinternen Steuersequenzen nicht bekannt sein müssen. Allerdings muss der Drucker über ein Computerinteface verfügen, das die Befehle für den Drucker aufbereitet.
Wir erhalten die folgende Anzeige:

Wir stellen fest:

Dieses Format (Portable Document Format) ist ebenfalls eine Beschreibungssprache und kann von einem Interpreterprogramm (z.B. Acrobat-Reader) in eine Bilddarstellung umgesetzt werden, die dem entsprechenden Ausdruck gleicht.
Wir erhalten die folgende Anzeige:

Wir stellen fest:
Ein Textformat, bei dem der Benutzer eine sehr viel bessere Kontrolle über den Inhalt seiner Dokument-Dateien haben kann, ist das HTML-Format (Hyper Text MarkUp Language). Dies ist derzeit das Standard-Format für Internet-Seiten.
Die Datei "Beispiel.html" enthält eine HTML-Version unseres kurzen Beispiel-Textes. Diese Datei ist zwar größer als die TXT-Datei, aber deutlich kleiner als die DOC-Datei. Wir laden "Beispiel.html" in den Hex-Editor und erhalten die folgende Anzeige:

Wir stellen fest:
Insgesamt erweist sich also eine HTML-Datei als eine "normale" Text-Datei, die demnach auch mit einem gewöhnlichen ASCII-Editor erzeugt und bearbeitet werden kann. Der Benutzer hat damit die totale Kontrolle über den Inhalt der Datei: wer z.B. seinen Namen nicht nennen mag, der braucht das nicht zu tun. (Es ist jedoch guter Stil, dass man in jede für die Veröffentlichung bestimmte Datei einen Vermerk über den Autor hineinschreibt.)
Wenn der Benutzer jedoch eine HTML-Datei mit einem ASCII-Editor erzeugt, dann ist er auch selbst dafür verantwortlich, dass sie syntaktisch korrekt ist, d.h. dass alle darin enthaltenen Steueranweisungen "richtig geschrieben" sind. Nur dann kann ein Browser sie verstehen und ausführen, wenn er den Text darstellen soll.
Dazu muß der Autor "HTML können", also z.B. wissen, mit welcher Folge von ASCII-Zeichen man Fettdruck ein- und ausschaltet, eine bestimmte Schriftgröße einstellt oder eine Textzeile zentriert.
Natürlich gibt es für diese Aufgaben auch spezielle Editor-Programme. Z.B. kann auch WORD HTML-Dokumente erzeugen. Allerdings weiß der Benutzer in diesem Fall wieder nicht, was dann alles in der Datei enthalten ist. Zumindest aber kann er es nachträglich kontrollieren, indem er die erzeugte HTML-Datei in einen ASCII-Editor lädt.
57 65 6E 6E 20 53 69 65 20 6F 72 64 65 6E 74 6C 69 63 68 20 75 65 62 65 6E 2C 20 6B 6F 65 6E 6E 65 6E 20 53 69 65 0D 0A 76 6F 6E 20 42 65 72 75 66 20 41 53 43 49 49 2D 45 64 69 74 6F 72 20 77 65 72 64 65 6E 2E 20Stelle mit "HexEdit" eine solche Datei her, speichere sie unter dem Namen "Geheim.txt" ab und ermittle ihren Inhalt. (Beachte, dass "HexEdit" zwischen Einfüge- und Überschreib-Modus unterscheidet.)
Autor: Roland Mechling
Überarbeitet: Jürgen Dehmer
Letzte Änderung: 18. November 2001