Hex-Kodierung

Fügen Sie Ihren Text unten ein und klicken Sie auf Kodieren, um ihn in eine hexadezimale Zeichenkette umzuwandeln. Die gesamte Verarbeitung erfolgt lokal in Ihrem Browser.

Kopiert!

Was ist Hex-Kodierung?

Hexadezimale Kodierung wandelt jedes Byte der Daten in eine zweistellige Hex-Zeichenkette um (00ff). Dies ist nützlich zur Untersuchung von Binärdaten, zum Debuggen von Netzwerkprotokollen und zur Darstellung von Byte-Arrays im Code.

UTF-8-Zeichen, die mehr als ein Byte verwenden, erzeugen mehrere Hex-Paare.

Trennzeichen und Groß- oder Kleinschreibung wählen Sie: nichts zwischen den Bytes für eine kompakte Zeichenkette, Leerzeichen für die Lesbarkeit, oder Doppelpunkte in dem Stil, in dem Fingerabdrücke und MAC-Adressen üblicherweise geschrieben werden. Alles geschieht in Ihrem Browser.

Sie suchen einen Fehler, der sich nicht dekodieren lässt?

Ein Payload, das sich nicht dekodieren lässt, ist meist ein Symptom und nicht der Fehler: eine doppelte Kodierung irgendwo in der Kette, ein angenommener statt deklarierter Zeichensatz, ein Token, das über Bytes signiert wurde, die nicht ganz die erwarteten sind. Genau diese Arbeit machen wir, an Integrationen, APIs und den Systemen, die Daten zwischen ihnen weiterreichen.

Sagen Sie uns, was klemmt

Häufig gestellte Fragen

Wofür wird Hex-Kodierung verwendet?
Zu Hex greift man, wenn ein Mensch die Bytes lesen muss. Hashes, Prüfsummen, kryptografische Schlüssel, Farbwerte, MAC-Adressen, Speicherauszüge und Paketaufzeichnungen werden alle in Hex gezeigt, weil jedes Byte genau zwei Zeichen wird, sodass Positionen in Spalten stehen und ein einzelnes falsches Byte auf einen Blick auffällt. Es ist außerdem der übliche Weg, Binärdaten in Quellcode einzufügen.
Wie unterscheidet sich Hex-Kodierung von Base64?
Hex kostet mehr und liest sich besser. Jedes Byte wird zu zwei Zeichen, die Ausgabe ist also genau doppelt so groß wie die Eingabe, während Base64 rund ein Drittel zulegt. Dafür hat Hex eine feste, offensichtliche Zuordnung: Sie können auf ein Paar zeigen und wissen, welches Byte es ist, Offsets mit dem Auge zählen und ein Byte ändern, ohne die Umgebung zu stören. Base64 gewinnt, wo Größe zählt, Hex gewinnt, wo ein Mensch hinschaut.
Warum wird aus einem Zeichen manchmal mehrere Hex-Paare?
Weil Hex Bytes kodiert und nicht Zeichen, und Text über UTF-8 zu Bytes wird. Alles im ASCII-Bereich ist ein Byte und damit ein Paar. Akzentuierte lateinische Buchstaben, Griechisch und Kyrillisch brauchen zwei Bytes, die meisten CJK-Zeichen drei und Emoji vier. Eine Zeichenkette aus fünf Zeichen kann also leicht als zwanzig Hex-Paare herauskommen.
Welches Trennzeichen soll ich wählen?
Das hängt davon ab, wohin die Ausgabe geht. Nichts zwischen den Bytes ist, was Code und die meisten APIs erwarten, und es ist am kürzesten. Leerzeichen machen eine lange Zeichenkette lesbar und sind das, was man in einem Dump sieht. Doppelpunkte sind die Konvention für Zertifikatsfingerabdrücke und MAC-Adressen. Die Bytes sind in allen drei Fällen identisch, nur die Zeichensetzung dazwischen ändert sich.
Ist Hex-Kodierung dasselbe wie Hashing?
Nein, auch wenn beide meist zusammen auftreten. Ein Hash ist eine Einwegfunktion: er reduziert jede Eingabe auf einen Abdruck fester Größe, der sich nicht in das Original zurückverwandeln lässt. Hex ist eine umkehrbare Art, Bytes aufzuschreiben. Hashes werden üblicherweise in Hex dargestellt, deshalb ähneln sie einander, aber ein Passwort in Hex zu kodieren schützt überhaupt nichts, es ergibt nur eine längere Fassung desselben Passworts.