- Hexspeak
-
Hexspeak (von hexadezimal und engl. to speak = sprechen) nennt man Zahlen in hexadezimaler Notation, die auch als Wörter der englischen Sprache gelesen werden können, beispielsweise lautet die Dezimalzahl
57005
in hexadezimaler DarstellungDEAD
(dead – tot).Hexspeak wurde von Programmierern erfunden, die für die Markierung von Daten oder Speicherbereichen eine magische Zahl als eindeutigen Identifikator benötigten. In der hexadezimalen Zahlendarstellung, in der neben den arabischen Ziffern
0123456789
auch die BuchstabenABCDEF
aus dem lateinischen Alphabet verwendet werden, können bestimmte Zahlen wie lesbare englische Wörter aussehen, wobei auch die Ziffern gelegentlich gemäß Leetspeak Buchstaben repräsentieren (z. B. kann die Ziffer „5
“ den Buchstaben „S
“ darstellen).Inhaltsverzeichnis
Gebräuchliche Hexspeak-Zahlen
Derzeit (2010) haben die häufiger benutzten Hexspeak-Zahlen aufgrund der in heutigen Computersystemen verbreiteten 32-Bit-Architektur eine Länge von 32 bit (entsprechend 8 Hexadezimalziffern). Mit dem zunehmenden Aufkommen von 64-Bit-Systemen sind auch Hexspeak-Zahlen mit 64 bit häufiger anzutreffen, sie sind aber nach wie vor eher selten, ebenso wie Hexspeak-Zahlen mit 16 bit.
Bekannte Hexspeak-Zahlen sind beispielsweise:
Hexadezimalzahl englisch deutsch (etwa) 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 0xADD511FE
coca cola adds life Coca Cola erfrischt Hexspeak-Zahlen als magische Zahlen
Viele Prozessoren, Betriebssysteme und Debugger machen Gebrauch von magischen Zahlen; zur schnellen Identifizierung werden oft Hexspeak-Zahlen gewählt.
Bekannte Beispiele:
0xABADBABE
(a bad babe) ist die magische Zahl für den Boot Zero Block bei Apple.0xBAADF00D
(bad food) wird bei Microsofts FunktionLocalAlloc(LMEM_FIXED)
benutzt, um nicht-belegten Heap-Speicher zu erkennen.0xDEADBEEF
(dead beef) wird bei IBMs RS/6000-Systemen und bei Computern mit Mac OS auf 32-bit-PowerPC-Prozessoren als magic debug number genutzt.[1]0xFEE1DEAD
(feel dead) wird im Linux-Systemaufrufreboot()
benutzt.[2]0xCAFEBABE
(cafe babe) ist die magische Zahl aller Java-Klassendateien.[3]0xBADCAB1E
(bad cable) wird in Embedded Visual Studio vom On-Device Debugger verwendet, wenn die Verbindung vom Debugger zum Device während des Debugging unterbrochen wurde
Andere Notationen
Wie in den Beispielen oben benutzt auch die Programmiersprache C das Präfix „
0x
“ für die Kennzeichnung einer Zeichenfolge als Hexadezimalzahl. Dieses Präfix wird normalerweise ignoriert, wenn eine Hexspeak-Zahl als englischer Text interpretiert wird. Ein Gegenbeispiel ist das Netzwerkmanagementsystem CA Spectrum, welches zur Kommunikation zwischen Server- und Clientsystemen den TCP-Port48879
verwendet, der in C-Notation als0xbeef
, also Ox beef (deutsch: Ochsenfleisch) gelesen wird. Da besonders bei der Programmierung eigener Anwendungen diese Portangabe häufig benötigt wird, wurde hier eine leicht zu merkende Eselsbrücke geschaffen.In anderen Notationen können solche Kennzeichnungen durchaus auch Bestandteil des englischen Textes werden. Beispiele:
- Im x86-Assembler werden hexadezimale Zahlen mit einem Suffix „
h
“ gekennzeichnet. Hier wäre eine Hexspeak-Zahl beispielsweiseFEEDADEADF15h
(feed a dead fish – füttere einen toten Fisch). - In der Programmiersprache Pascal wird hexadezimalen Zahlen ein „
$
“ vorangestellt. Damit sind Hexspeak-Zahlen möglich wie$EED
(seed – die Saat, so wird der Vorgabewert eines Pseudozufallszahlengenerators bezeichnet).
Siehe auch
Quellen
- ↑ Dave Falkenburg, Brian Topping: Debugging on PowerPC. Abgerufen am 18. April 2008.
- ↑ Man-Page zu reboot(2). Abgerufen am 18. April 2008.
- ↑ VM Spec: The class File Format. In: The JavaTM Virtual Machine Specification. Abgerufen am 18. April 2008.
Weblinks
- HexOddities – eine Sammlung von Hexspeak-Zahlen
- Eintrag für DEADBEEF im Jargon File
- Why CAFEBABE? – eine Newsgroup-Diskussion
Wikimedia Foundation.