ASCII zu Hex-Konverter

Hex ist die Kurzschrift der Programmierer für Bytes: zwei Ziffern von 0-9 und A-F decken jeden Wert von 0 bis 255 in kompakter Form ab. Dieser Konverter nimmt ASCII-Text und gibt den Hex-Code für jedes Zeichen zurück, was du benötigst, wenn du ein Byte-Array in C schreibst, ein Netzwerkpaket inspizierst oder zwischen Kodierungsformaten in einer Reverse-Engineering-Sitzung konvertierst.

Wie ASCII zu Hex wird

  1. 1

    Füge deinen Text ein

    Jedes ASCII-Zeichen funktioniert — Buchstaben, Zahlen, Satzzeichen.

  2. 2

    Jedes Zeichen wird als Byte nachgeschlagen

    Zum Beispiel ist `H` dezimal 72, was `0x48` in Hex ist.

  3. 3

    Hex-Paare werden verbunden

    Du kannst einen Separator konfigurieren: Leerzeichen, Komma, `0x`-Präfix oder keinen Trennzeichen.

  4. 4

    Kopiere das Ergebnis

    Füge es in Quellcode, einen Hex-Editor oder einen Protokollanalysator ein.

Beispiel

Der String Go! kodiert als:

Zeichen Dezimal Hex
G 71 47
o 111 6F
! 33 21

Also wird Go! zu 47 6F 21, oder \x47\x6F\x21 in C-String-Escape-Form, oder 0x47, 0x6F, 0x21 als Byte-Array.

Ausgabeformat-Optionen

Anwendungsfall Format Beispiel
Byte-Array in C/C++ 0xXX, 0xXX 0x47, 0x6F
Shell echo mit -e \xXX \x47\x6F
Leerzeichen-getrennte Hex-Dump XX XX 47 6F
Kontinuierlicher String XXXX 476F
URL-Prozentkodierung %XX %47%6F

Eine häufige Falle

Hex ist nicht case-sensitiv (0x4f und 0x4F sind dasselbe Byte), aber viele Parser achten darauf. Wenn du die Ausgabe in etwas Strenges (eine YAML-Datei, einen JSON-String, einige Assemblierer) einspeist, achte auf die Groß- und Kleinschreibung des umgebenden Codes.

UTF-8 und Mehrbyte-Zeichen

Für ASCII-Eingaben ist jedes Zeichen ein Byte. Für UTF-8-Eingaben benötigen Zeichen über U+007F 2, 3 oder 4 Bytes. Das Tool gibt immer ein Hex-Paar pro Byte aus, sodass caf\u00e9 (4 Zeichen) 5 Bytes Hex produziert: 63 61 66 C3 A9.

Häufig gestellte Fragen

Der Wert ist es nicht — 0x4F und 0x4f sind dasselbe Byte. Aber einige Tools und Codestile bestehen auf einer Schreibweise. Pythons .hex()-Methode gibt Kleinbuchstaben aus; viele Embedded-Toolchains bevorzugen Großbuchstaben.

Es ist eine Konvention aus C, die dem Parser sagt, dass die folgenden Ziffern hexadezimal und nicht dezimal sind. Ohne das Präfix ist 47 entweder 47 (dezimal) oder 71 (hex), je nach Kontext.

Wahrscheinlich, weil deine Quelle nicht-ASCII UTF-8-Zeichen enthält, die mehrere Bytes benötigen. Ein 10-Zeichen-String mit Akzenten kann leicht 12-14 Bytes Hex erzeugen.

Ja — benutze den Hex zu ASCII-Konverter. Er akzeptiert kontinuierliches Hex, leerzeichengetrennte Paare und 0x-Präfixe.

Verwandte Tools