Hex-Codes
Kurz: Werte in Hexadezimalschreibweise (Basis 16) — in der IT häufig genutzt, um Bytes kompakt darzustellen, etwa für Farben (#FF0000 für Rot).
Genauer: Ein Byte (8 Bit, Werte 0–255) lässt sich exakt mit zwei Hex-Ziffern darstellen (00–FF), was Hexadezimal deutlich kompakter macht als Binärschreibweise und für Menschen leichter lesbar als reine Binärzahlen. Wird u. a. bei Speicheradressen, MAC-Adressen und Farbwerten verwendet.
Im Detail
Warum gerade Basis 16?
Hexadezimal nutzt 16 Ziffern (0-9 und A-F für die Werte 10-15) statt der zehn Ziffern des Dezimalsystems. Der praktische Vorteil gegenüber Binär: jede einzelne Hex-Ziffer entspricht exakt vier Bits (ein “Nibble”), sodass sich Bytes verlustfrei und kompakt in Hex umrechnen lassen — 11111111 (binär) wird zu FF (hex), deutlich lesbarer als eine lange Kette aus Nullen und Einsen. Diese exakte 4-Bit-Entsprechung ist der eigentliche Grund, warum sich Hex durchgesetzt hat und nicht etwa Basis 12 oder 20: Bei Basis 16 lässt sich jede Hex-Ziffer unabhängig von den Nachbarn in ihre 4 Bits zerlegen, bei anderen Basen wäre die Umrechnung deutlich unhandlicher.
Dezimal: 255
Binär: 11111111
Hexadezimal: FF
Dezimal: 4096
Binär: 0001 0000 0000 0000
Hexadezimal: 1000
Typische Einsatzgebiete
- Farbwerte im Web/Design:
#FF0000= Rot (FF für den Rot-, 00 für den Grün- und Blau-Kanal),#1a1a2e= ein dunkles Blau-Violett. Jeder der drei Kanäle (RGB) bekommt genau ein Byte (zwei Hex-Ziffern, Werte 00–FF), macht insgesamt 6 Hex-Ziffern pro Farbe — mit optionalem vierten Alpha-Kanal (#FF0000FF) für Transparenz. - MAC-Adressen:
00:1A:2B:3C:4D:5E— sechs Byte-Paare, durch Doppelpunkt oder Bindestrich getrennt, die erste Hälfte identifiziert den Hersteller (OUI, “Organizationally Unique Identifier”). - Speicheradressen beim Debuggen: Debugger und Crash-Dumps zeigen Speicheradressen fast immer hexadezimal (z. B.
0x7FFE12340000), da Adressbreiten (32-Bit, 64-Bit) sich glatt in Hex-Ziffern übersetzen lassen. - Hash-Ausgaben: Git-Commit-Hashes,
SHA-256-Prüfsummen und die meisten kryptografischen Hash-Funktionen werden konventionell als Hex-String dargestellt, da rohe Binärdaten nicht direkt lesbar/kopierbar wären. - Unicode-Codepoints: Zeichen wie Emoji werden oft als
U+1F600notiert — auch das ist eine Hex-Zahl.
Präfixe und Schreibweisen
Je nach Programmiersprache/Kontext gibt es unterschiedliche Konventionen, um eine Zahl explizit als Hex zu kennzeichnen: 0x als Präfix ist in den meisten C-artigen Sprachen (C, C++, Java, JavaScript, Python) Standard (0xFF), CSS/Web nutzt stattdessen # (#FF0000), und manche Assembler-Dialekte hängen ein h an (FFh). Ohne einen dieser Marker wäre FF nicht von einer beliebigen Textzeichenfolge zu unterscheiden — der Kontext (z. B. eine Variable, die explizit als Hex-Zahl geparst wird) macht den Unterschied.
Hex-Editoren
Ein Hex-Editor zeigt den rohen Byte-Inhalt einer beliebigen Datei direkt als Hex-Werte an (statt einer interpretierten Darstellung, wie sie ein normales Textprogramm liefern würde) — nützlich zum Debuggen von Dateiformaten, zur Analyse potenziell schädlicher Dateien oder um binäre Formate zu verstehen, für die es keine passende Anwendung gibt. Jedes Byte erscheint dabei typischerweise sowohl als zweistelliger Hex-Wert als auch, sofern druckbar, als zugehöriges ASCII-Zeichen daneben.
Siehe auch: Bytes, MAC-Adressen, CSS