Was ist ein Hex-Editor (und wann du wirklich einen brauchst)
Jemand hat dir gesagt, du sollst „das mal in einem Hex-Editor prüfen", oder du hast nach einem Hex-Betrachter gesucht und bist hier gelandet, ohne ganz sicher zu sein, was das eigentlich ist. Das ist völlig in Ordnung. Ein Hex-Editor ist ein Programm, das dir den rohen Inhalt einer Datei zeigt, Byte für Byte, statt zu versuchen, ihn als Dokument, Bild oder Tabelle zu interpretieren. Näher an das, was tatsächlich auf der Festplatte gespeichert ist, kommst du nicht.
Warum ausgerechnet Hex
Eine Datei, jede Datei, ist einfach eine Folge von Bytes, und jedes Byte ist eine Zahl von 0 bis 255. Du könntest diese Zahlen dezimal darstellen, aber 0 bis 255 braucht bis zu drei Stellen und richtet sich nicht sauber aus. Du könntest sie binär darstellen, aber ein einzelnes Byte sind acht Stellen aus Einsen und Nullen, was visuell schwer zu erfassen ist. Hexadezimal (Basis 16, mit den Ziffern 0-9 und den Buchstaben A-F) ist der Kompromiss: jedes Byte passt in genau zwei Zeichen, von 00 bis FF, sodass sich eine Reihe von Bytes zu einem sauberen, gut erfassbaren Raster ausrichtet. Das ist der ganze Grund, warum „Hex" der Standard ist, nicht Dezimal oder Binär. Es ist eine Entscheidung zugunsten der Lesbarkeit, keine technische Notwendigkeit.
Was du dir tatsächlich ansiehst
Öffne eine beliebige Datei in einem Hex-Editor und du siehst drei Dinge nebeneinander, für dieselben Daten:
- Offset: wie weit du in der Datei bist, meist selbst in Hex angezeigt, sodass du später zu einer bestimmten Position zurückspringen kannst.
- Hex-Bytes: die tatsächlichen Daten, zwei Zeichen pro Byte, in Zeilen gruppiert (üblich sind 16 Bytes pro Zeile).
- Text-Ansicht (ASCII): dieselben Bytes als Zeichen neu interpretiert, für den Teil der Datei, der zufällig lesbarer Text ist. Nicht-Text-Bytes werden meist als Punkt-Platzhalter angezeigt.
Diese dritte Spalte ist der Grund, warum Dateipfade, Bezeichnungen und Versions-Strings oft selbst in Dateien sichtbar sind, die überwiegend Binärdaten sind: jeder eingebettete Text taucht in dieser Spalte auf, auch wenn die Datei als Ganzes keine Textdatei ist.
Wann du tatsächlich einen brauchst
Die meisten Menschen verbringen ihr ganzes Leben, ohne je einen Hex-Editor zu öffnen, und das ist völlig normal. Die Situationen, in denen er wirklich das richtige Werkzeug ist, sind speziell:
- Die Endung einer Datei passt nicht zu ihrem tatsächlichen Inhalt. Jemand hat eine
.zipin eine.documbenannt, oder du bist dir nicht sicher, ob eine.db-Datei wirklich eine Datenbank ist. Die ersten paar Bytes der meisten Formate sind eine markante Signatur (PNG beginnt mit89 50 4E 47, ZIP mit50 4B), und eine Hex-Ansicht bestätigt das in Sekunden. - Eine Datei ist beschädigt und du willst wissen, wie. Abgebrochener Download, fehlerhafte Übertragung, ein Header, der überschrieben wurde. Die rohen Bytes zu sehen sagt dir, ob der Schaden am Anfang, am Ende oder verstreut ist.
- Du debuggst etwas, das Binärdaten liest oder schreibt, ein Speicherdateiformat, eine Konfigurationsdatei, ein Netzwerkprotokoll, und musst genau bestätigen, welche Bytes erzeugt werden.
- Du willst einen bestimmten Wert überprüfen, etwa bestätigen, dass vier Bytes wirklich die Dateigröße darstellen, die du erwartest, oder einen Zeitstempel prüfen, ohne einem Blackbox-Werkzeug zu vertrauen, es richtig zu deuten.
- Neugier. Viele Leute öffnen einmal einen Hex-Editor, einfach um zu sehen, wie ein vertrautes Dateiformat darunter tatsächlich aussieht. Das ist ein völlig legitimer Grund.
Wenn nichts davon beschreibt, was du tust, brauchst du wahrscheinlich keinen, und das ist in Ordnung. Es ist ein Spezialwerkzeug für eine bestimmte Art von Frage.
Was einen Hex-Editor gut macht, nicht nur funktional
Wenn du dann einen brauchst, machen die Werkzeuge meist dieselbe Grundarbeit: Bytes zeigen, scrollen lassen, suchen lassen. Die Unterschiede, die zählen, betreffen Sicherheit und Klarheit, nicht die reine Funktionsanzahl. Hex Fiend ist die kostenlose Open-Source-Option, bei der die meisten Mac-Nutzer standardmäßig landen, und es ist wirklich leistungsfähig, besonders bei sehr großen Dateien. Hexter verfolgt einen engeren, vorsichtigeren Ansatz: jede Datei öffnet schreibgeschützt, sodass der Blick auf etwas Unbekanntes null Risiko birgt, das Bearbeiten ist ein expliziter, umkehrbarer Schritt statt der Standardzustand, und gängige Dateiformate (PNG, ZIP, Mach-O, WAV, SQLite) bekommen ihre Struktur automatisch herausgeparst, statt dich Header von Hand dekodieren zu lassen.
Welches du willst, hängt davon ab, was du tust. Wenn du zwei mehrere Gigabyte große Dateien Byte für Byte vergleichst, ist Hex Fiends Diffing für diesen Maßstab gebaut. Wenn du nur bestätigen musst, was eine Datei tatsächlich ist, eine Handvoll Bytes prüfen oder eine kleine, sorgfältige Änderung vornehmen willst, ohne dir Sorgen zu machen, das Original versehentlich zu zerstören, dann ist das die Situation, für die Hexter gebaut ist.