Inhaltsverzeichnis
Byte für Byte vergleichen
Manche Dateien sind weder Text noch Bild — oder sehen als Text gleich aus und sind es doch nicht. Die Ansicht Binär zeigt beide Dateien als Hex-Ansicht: Byte für Byte, mit Adresse, Hexadezimalwerten und der lesbaren Entsprechung daneben. Sie zeigt damit auch Unterschiede, die kein Text- oder Bildvergleich sieht.
Unter der Ansicht stehen die Kennzahlen: beide Dateigrößen und die Zahl der abweichenden Bytes, dazu „erste Abweichung @ 0x0004A2“ — die Stelle, ab der die Dateien auseinanderlaufen. Sind sie gleich, meldet MergeQaiPro „Dateien sind identisch“.
10.1 Zu den Unterschieden springen
Zwei Dateien können in Zehntausenden Bytes abweichen — von Hand dorthin zu blättern ist aussichtslos. Die Pfeile ◀ und ▶ in der Werkzeugleiste springen deshalb von einem Abweichungsbereich zum nächsten; der Zähler dazwischen zeigt, der wievielte von wie vielen gerade erreicht ist. Ein Bereich ist dabei nicht ein einzelnes Byte, sondern eine zusammenhängende Strecke abweichender Bytes — genau das, was man als „eine Änderung“ ansieht.
Am rechten Rand liegt die Landkarte: ein schmaler Streifen, der die ganze Datei abbildet und jede Abweichung als Marke zeigt. Sie beantwortet auf einen Blick, was keine Zahl sagt — ob die Unterschiede über die Datei verstreut liegen, sich vorn ballen oder erst ab einer bestimmten Stelle beginnen. Der helle Rahmen darin zeigt den gerade sichtbaren Ausschnitt; ein Klick oder Zug in die Landkarte springt dorthin.
10.2 Gezielt hinspringen und suchen
Wer eine bestimmte Stelle im Blick hat, gibt sie im linken Feld ein und drückt die Eingabetaste. Erwartet wird ein Offset: hexadezimal als 1A2F oder 0x1A2F, dezimal mit vorangestelltem #, also #6703. Die Anzeige rollt zu dieser Stelle und markiert das Byte.
Das rechte Feld sucht nach einem Inhalt. Ist der Schalter Hex gedrückt, gilt die Eingabe als Byte-Folge — FF D8, FFD8 und 0xFF,0xD8 meinen dasselbe. Ohne den Schalter wird der eingegebene Text gesucht, etwa JFIF oder PK. Jede weitere Eingabetaste springt zum nächsten Fund; hinter dem letzten beginnt die Suche wieder von vorn.
10.3 Bytes markieren und kopieren
Ein Klick in die Hex- oder Textspalte markiert ein Byte, Umschalt+Klick erweitert bis dorthin, Ziehen mit gedrückter Maustaste ebenso. Die Fußzeile nennt den markierten Bereich und seine Länge. Beide Seiten zeigen dieselbe Markierung — es ist ja derselbe Ausschnitt der Datei.
Der Knopf ⧉ legt das Markierte in die Zwischenablage — in drei Formaten:
| Format | Ergebnis | Wofür |
|---|---|---|
| Als Hex | 41 42 00 FF | Übergabe an einen Hex-Editor, Notiz im Fehlerbericht |
| Als Text | AB.. | lesbare Anteile herausziehen — nicht Druckbares wird zum Punkt |
| Als C-Feld | unsigned char daten[4] = { … }; | direkt in Quelltext einsetzen, etwa als Testdatensatz |
10.4 Eine Datei übernehmen — und warum nur ganz
Die beiden Knöpfe ⇥ und ⇤ ersetzen die eine Datei vollständig durch die andere. MergeQaiPro fragt vorher nach und nennt beide Namen; danach wird neu verglichen, und die Ansicht meldet „Dateien sind identisch“.
Einzelne Bytes lassen sich bewusst nicht übertragen. Im Textvergleich ist das gefahrlos, weil Zeilen für sich stehen: Eine übernommene Zeile lässt den Rest der Datei gültig. Bei Binärdateien gilt das fast nie — und eine Übernahme, die die Zieldatei in den meisten Fällen unbrauchbar macht, wäre schlechter als gar keine.
| Was im Weg steht | Folge |
|---|---|
| Längenfelder und Verweistabellen (ZIP, PDF, EXE) | zeigen auf feste Stellen — eingefügte Bytes verschieben alles dahinter |
| Prüfsummen (PNG, viele Container) | passen nach der Änderung nicht mehr, die Datei wird abgelehnt |
| Komprimierte Ströme (JPEG, PNG, ZIP) | tragen ihre Bedeutung bitweise — ein Byte mittendrin zerstört alles Folgende |
| Verschiedene Dateilängen | „überschreiben“ oder „einfügen“ hätte zwei ganz verschiedene Ergebnisse |