Hex-Kodierung erklärt
Die hexadezimale (Hex-)Kodierung stellt Binärdaten unter Verwendung der Basis-16-Notation dar. Sie verwendet sechzehn Ziffern: 0-9 für die Werte null bis neun und A-F für die Werte zehn bis fünfzehn. Jede Hex-Ziffer repräsentiert genau vier Bits, was Hex zur menschenfreundlichsten Art macht, Binärdaten zu lesen und zu schreiben. Ein Byte (8 Bits) wird perfekt durch zwei Hex-Ziffern dargestellt, weshalb Hex überall in der Programmierung vorkommt.
Der grundlegende Vorteil von Hex gegenüber Binär ist die Lesbarkeit. Eine 32-Bit-Binärzahl wie 10110101101110101010111001011101 wird zu B5BAAE5D in Hex – viermal kürzer und dramatisch einfacher zu lesen, zu vergleichen und zu merken. Diese Kompaktheit macht Hex zur Standardnotation für Speicheradressen, Farbwerte, kryptografische Hashes und Maschinencode.
Die Hex-Dezimal-Beziehung
| Dezimal | Binär | Hex |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
Jede Hex-Ziffer wird genau einer vier-Bit-Binärsequenz zugeordnet. Diese direkte Zuordnung bedeutet, dass Sie zwischen Hex und Binär mental konvertieren können, sobald Sie die Tabelle auswendig gelernt haben.
Häufige Entwickler-Anwendungsfälle
Farbcodes
CSS und Designtools repräsentieren Farben mit sechsstelligen Hex-Werten. Das Format #RRGGBB verwendet zwei Hex-Ziffern jeweils für Rot, Grün und Blau. #FF0000 ist reines Rot, #00FF00 ist reines Grün und #0000FF ist reines Blau. Der Wert #FFFFFF ist Weiß und #000000 ist Schwarz.
.primary { color: #2563eb; }
.success { color: #16a34a; }
.danger { color: #dc2626; }
Die dreistellige Kurzform wie #F00 erweitert sich zu #FF0000, indem jede Ziffer verdoppelt wird.
Speicheradressen
Debugger, Disassembler und Low-Level-Tools zeigen Speicheradressen in Hex an. Ein Stack-Trace mit 0x7FFF5FBFF9EC zeigt Ihnen den genauen Speicherort in kompakter Form. Zeiger in C und C++ werden standardmäßig in Hex ausgegeben, wenn %p verwendet wird.
Kryptografische Hashes
Hash-Funktionen erzeugen binäre Digests, die üblicherweise als Hex-Zeichenfolgen dargestellt werden. SHA256 erzeugt einen 256-Bit-Hash, der als 64 Hex-Zeichen angezeigt wird. Dieses Format wird für Datei-Prüfsummen, Blockchain-Transaktions-IDs und Git-Commit-Hashes verwendet.
Maschinencode und Binärprotokolle
Jedes Byte von Maschinencode oder Protokolldaten lässt sich am besten in Hex lesen. Netzwerkpaket-Inspektoren, Firmware-Dumps und Spezifikationen für binäre Dateiformate verwenden alle die Hex-Notation.
Konvertierung zwischen Hex und anderen Formaten
Hex zu Dezimal
Multiplizieren Sie jede Hex-Ziffer mit 16 hoch ihrer Position, gezählt von rechts nach links beginnend bei 0.
Hex: 2F
F = 15 × 16^0 = 15
2 = 2 × 16^1 = 32
Summe: 15 + 32 = 47
Dezimal zu Hex
Teilen Sie wiederholt durch 16 und lesen Sie die Reste von unten nach oben.
Dezimal: 47
47 ÷ 16 = 2 Rest 15 (F)
2 ÷ 16 = 0 Rest 2
Ergebnis: 2F
Hex zu Binär
Ersetzen Sie jede Hex-Ziffer durch ihr vier-Bit-Binäräquivalent.
Hex: 2F
2 → 0010
F → 1111
Binär: 00101111
Unterstützung in Programmiersprachen
Jede gängige Sprache enthält integrierte Hex-Konvertierung:
# Python
hex_value = hex(255) # '0xff'
decimal = int('ff', 16) # 255
// JavaScript
let hex = (255).toString(16); // 'ff'
let dec = parseInt('ff', 16); // 255
// PHP
$hex = dechex(255); // 'ff'
$dec = hexdec('ff'); // 255
// Java
String hex = Integer.toHexString(255); // 'ff'
int dec = Integer.parseInt("ff", 16); // 255
Online-Tool
Das Tool Hex Encoder & Decoder auf Help2Code ermöglicht Ihnen die sofortige Konvertierung zwischen Text, Hex, Dezimal und Binär. Es ist nützlich für Debugging, Lernzwecke und schnelle Konvertierungen während der Entwicklung.
Hex in URLs
Die Prozentkodierung in URLs verwendet oft Hex. Ein Leerzeichen wird zu %20, wobei 20 der Hex-Wert des ASCII-Codes des Leerzeichens ist. Jedes Byte in einer URL kann als %XX dargestellt werden, wobei XX der Hex-Wert ist. Deshalb wird die URL-Kodierung manchmal auch Prozentkodierung genannt.
Hex vs Base64
Hex und Base64 kodieren beide Binärdaten als Text, aber sie dienen unterschiedlichen Zwecken. Hex ist am besten für die menschliche Lesbarkeit und das Debuggen geeignet. Base64 ist für kompakte Datenübertragung ausgelegt. Hex erweitert Daten um 100% (ein Byte wird zu zwei Zeichen), während Base64 nur um 33% erweitert. Verwenden Sie Hex für die Anzeige und das Debuggen, Base64 für die Speicherung und Übertragung.
Fazit
Die hexadezimale Kodierung ist eine wesentliche Fähigkeit für jeden Entwickler, der mit Low-Level-Daten, Farben, Speicher oder Kryptografie arbeitet. Ihre direkte Zuordnung zu Binär macht sie zur lesbarsten Darstellung von Binärdaten. Verwenden Sie den Hex Encoder & Decoder für schnelle Konvertierungen und üben Sie die mentale Hex-Dezimal-Konvertierung für gebräuchliche Werte.