Hexspeak kommt von "hexadezimal" (Zahlendarstellung zur Basis 16 mit den Ziffern 0 - 9 und A - F) und dem englischen Wort "speak" für "sprechen"). Zu Hexspeak rechnet man hexadezimale Zahlen, die auch als Wörter der englischen Sprache gelesen werden können, beispielsweise lautet die Dezimalzahl 47806 in hexadezimal dargestellt "BABE".
Hexspeak wurde von Programmierern erfunden, um für die Markierung von Daten oder Speicherbereichen eine magische Zahl als eindeutigen Identifikator zu haben. Die Worte sind nicht nur auf die Buchstaben 'A', 'B', 'C', 'D' und 'E' beschränkt, auch manche Ziffern lassen gelegentlich gemäß "Leetspeak" als Buchstaben interpretieren (z. B. kann die Ziffer "5" den Buchstaben "S" räpräsentieren, die "0" das "O", die "1" ein "L" oder "I").
In der Regel sind die Hexspeak-Zahlen aufgrund der häufigen 32-Bit-Architektur 32 Bit lang und besitzen daher acht Hexadezimalziffern). Mit dem zunehmenden Aufkommen von 64-Bit-Systemen sind auch Hexspeak-Zahlen mit 16 Ziffern immer häufiger anzutreffen.
In vielen Programmiersprachen wird Hexadezimalzahlen das Präfix "0x" vorangestellt. Dieses Präfix wird beim Hexspeek in der Regel ignoriert. Es gibt jedoch ein Gegenbeispiel: Das Netzwerkmanagementsystem "CA Spectrum" nutzt zur Kommunikation zwischen Server und Client den TCP-Port 48879, der in hexadezimaler Notation in C "0xbeef" geschrieben wird. Das Wort "OX BEEF" (deutsch: Ochsenfleisch) bildet hier eine Eselsbrücke für den Port.
Hexadezimalzahl | englisch | deutsch |
---|---|---|
0xDEADBEEF | dead beef | totes Rindfleisch |
0xDECAFBAD | decaf bad | koffeinfrei [ist] schlecht |
0xCAFEBABE | cafe babe | Café-Herzchen |
0xBAADF00D | bad food | schlechtes Essen |
0xBAADFEED | bad feed | schlechtes Futter |
0xC0EDBABE | coed babe | schöne Schülerin |
0x1FEDBEEF | one fed beef | ein gefüttertes Rind |
0xBADCAB1E | bad cable | schlechtes Kabel |
0xC001D00D | cool dood | cooler Typ |
0xDEADC0DE | dead code | toter Code |
0xDEADDA7A | dead data | tote Daten |
0x1BADBABE | one bad babe | ein mieses Luder |
0xC0CAC01A | coca cola | Coca Cola |
0xC0DEBA5E | codebase | Codebase |
0xABAD1DEA | a bad idea | eine schlechte Idee |
0xB16B00B5 | big boobs | große Brüste |
Etliche Prozessoren, Betriebssysteme und Debugger machen Gebrauch von magischen Hexspeak-Zahlen:
Hexadezimalzahl | Herkunft |
---|---|
0xABADBABE (A bad babe) | Magische Zahl für den Boot-Zero-Block bei Apple |
0xABADCAFE (A bad cafe) | Amiga Mingwall: Initialisierung allen freien Speichers beim Startup mit diesem Wert |
0xBADCAB1E (bad cable) | In Embedded Visual Studio vom On-Device Debugger verwendet, wenn die Verbindung vom Debugger zum Device während des Debugging unterbrochen wurde |
0x8BADF00D (ate bad food) | Exception Code in iOS Crash Reports, falls Apps beim Start oder Beenden zu lange brauchen |
0xBEEFCACE beef cake) | magische Zahl in Ressource-Dateien von Microsoft .NET |
0xCAFEBABE / 0xCAFED00D (cafe babe / cafe dude) | kompilierte respektive mit Pack200 komprimierte Java-Klassen |
0xC0DEDBAD (coded bad) | Amiga Mungwall: Setzen aller Referenzen zu Adresse 0 auf diesen Wert |
0xDEADBEEF (dead beef) | Bei Mac OS auf 32-bit-PowerPC-Prozessoren genutzt als magic debug number |
0x0DEFACED (defaced) | ehemalige Gastsignatur von Linux in Microsofts Hyper-V |
0xDEADC0DE (dead code) | Marker in der OpenWRT-Routerfirmware |
0xDEADFA11 (dead fall) | Exception Code in iOS Crash Reports bei erzwungenem Beenden von Apps |
0xDEFEC8ED (defecated) | Kennzeichnung für Core Dumps bei Open Solaris |
0xFADEDEAD (fade dead) | Jedes OSA-script endet mit 0xFADEDEAD |
0xFEE1DEAD (feel dead) | Signal für einen Linux-Reboot |