# Hex-Editor

Unter einem Hex-Editor (auch Hexeditor) versteht man ein Computerprogramm, mit dem sich die Bytes beliebiger Dateien als Folge von Hexadezimalzahlen darstellen und bearbeiten lassen. Fehlt die Bearbeitungsmöglichkeit, spricht man von einem Hex-Viewer oder Hex-Betrachter. Beide Varianten sind besonders für die Anzeige und Bearbeitung von Binärdateien nützlich.

## Allgemeines

Mit einem Hex-Editor können alle Arten von Dateien betrachtet werden, wobei eine Interpretation der Daten standardmäßig nicht stattfindet. Bilddateien, MP3-Dateien und ausführbare Dateien werden als Folge von Bytes dargestellt, ohne dass diese als Farben, Töne oder Computerbefehle interpretiert werden.
Die Darstellung eines Hex-Editors kann recht unübersichtlich werden. Daher gibt es häufig auch die Möglichkeit, Daten interpretiert und strukturiert anzuzeigen sowie zwischen verschiedenen Interpretationen und Darstellungen zu wählen.

## Vorteile von Hex-Editoren

Üblicherweise setzen Programme voraus, dass Daten einer gewissen Struktur bzw. einem Format entsprechen; daher können sie bei beschädigter Struktur mit den Daten nichts anfangen. Die Fähigkeit von Hex-Editoren, Daten auf unterster Ebene zu bearbeiten, ermöglicht zum Beispiel
* in ihrer Struktur beschädigte Daten zu lesen und wiederherzustellen,
* den Aufbau eines Dateiformats zu analysieren oder
* Bereiche zu bearbeiten, die üblicherweise nicht zugänglich oder vom Benutzer editierbar sind, wie zum Beispiel Metainformationen in Bildern oder Textdokumenten bzw. Zustände einer Spielfigur in Spielständen.

## Übliche Darstellung einer Datei durch einen Hex-Editor

Hex-Editoren sind in der Regel folgendermaßen aufgebaut (Erläuterung anhand des oben gezeigten Beispiels):
* Ganz links wird ein Offset angezeigt. Dieser gibt die Anzahl der vorausgegangenen Bytes in Hexadezimalschreibweise an. In der ersten Zeile ist der Offset 0, was dem Dateianfang entspricht; in der zweiten Zeile beträgt er 10$_{16}$, d. h., es sind 10$_{16}$ = 16$_{10}$ Bytes vorangegangen. Einige Hex-Editoren zeigen Offset-, Cluster- und Sektornummern auch dezimal an (die beiden letztgenannten sind für Bearbeitung der Daten auf Dateisystemebene wichtig).
* In der Mitte sind die Bytes (genauer Oktette) der Datei hexadezimal dargestellt, z. B. 48$_{16}$ für das erste Byte in der ersten Zeile.
* Ganz rechts schließlich stehen die Bytes der aktuellen Zeile als Text (in einem bestimmten Zeichensatz) dargestellt. Im Beispiel werden die Bytes als ASCII interpretiert, dem gebräuchlichsten 1-Byte-Code (das erste Byte 48$_{16}$ entspricht dem Buchstaben H). Diese Darstellung ist vornehmlich dann brauchbar, wenn es sich bei den Daten um menschenlesbaren Text handelt. So werden z. B. Bilder wie eine zufällige Aneinanderreihung von Zeichen dargestellt, manchmal sind jedoch Muster zu erkennen (besonders in unkomprimierten Bildern wie z. B. in Bitmaps).

## Disk-Editoren

Mit einigen Hex-Editoren lassen sich nicht nur Dateien, sondern auch die zugrundeliegenden Datenblöcke von Datenträgern (etwa Disketten oder Festplatten) bearbeiten. Programme, die dies als primäre Funktion anbieten, werden meist Disk-Editor oder auch Disk-Monitor genannt, wobei hier fast immer die Funktion der Bearbeitung gegeben ist (und nicht nur die der Betrachtung).