Hexspeak

Hexspeak（十六进制魔术数字）是一种类似Leet的英文单词转写形式。

 起源和写法 

Hexspeak最早是-{zh-cn:程序员; zh-tw:程式設計師;}-用来清晰独特地标记-{zh-cn:内存; zh-tw:記憶體;}-和-{zh-cn:数据; zh-tw:資料;}-的一些魔术数字，使用以0-9与A-F构成的16进制数表示一些简单的英文单词。Hexspeak的转写规则为：数字“0”表示字母“O”，“1”表示“I”或“L”，“5”表示“S”，“7”表示“T”，“6”、“9”则各自表示“G”与“g”，其它的数字则可利用画谜和Leet的规则来借代字母，例如“defecate”就可用“DEFECA7E”或“DEFEC8”来表示。

 较有名的魔术数 

16进制魔术数在许多处理器、操作系统和-{zh-cn:调试工具; zh-tw:除錯工具;}-中都得到应用，且尤常作为-{zh-cn:调试量; zh-tw:測試參數;}-使用。

0x0000000FF1CE是微软Office组件产品代码的最后一部分，可于-{zh-cn:注册表; zh-tw:註冊表;}-的HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall的键值中寻得。

0x00BAB10C（oo-ba-block）在ZFS的uberblock里使用。

0x1BADB002（“I bad boot”）为多重引导(Multiboot Specification)标头。

0x8BADF00D（“ate bad food”）为iOS应用程序崩溃报告中的标识符，一般在程序运行、终止与响应时停滞太久时出现。

0xBAADF00D（“bad food”）在微软的LocalAlloc（LMEM_FIXED）函数中使用，用以在已启用调试堆的情况下，标识未初始化的分配堆-{zh-cn:内存; zh-tw:記憶體;}-。

0xCAFEBABE（“cafe babe”）在Mach-O格式文件中用于标识通用二进制目标文件，同时也在Java中用于识别Java字节码类文件。

0xCAFED00D（“Cafe Dude”）在Java中用于识别Pack200压缩格式。

0xD15EA5E（“disease”）是任天堂GameCube与Wii控制台正常启动的标识符。

0xDEADBABE（“Dead Babe”）在IBM的Jikes研究虚拟机上使用，用于确认主线程的栈是否正常。

0xDEADBEEF（“dead beef”）在嵌入式系统中常用于标示-{zh-cn:软件; zh-tw:軟體;}-崩溃或是-{zh-cn:死锁; zh-tw:死結;}-，在IBM RS/6000系统、32位PowerPC处理器上的Mac OS系统以及Commodore International的Amiga电脑上都有使用；而在Sun的Solaris操作系统中，这一魔术数则用于标记已释放的-{zh-cn:内核存储; zh-tw:記憶體儲存;}-空间。另外，在Alpha处理器上的OpenVMS操作系统中，按下CTRL+T就可以看到DEAD_BEEF。DEC Alpha的控制台亦有一个用于检测-{zh-cn:内存; zh-tw:記憶體;}-错误的后台进程，PS识别为“BeefEater waiting on 0xdeadbeef”。

0xDEADDEAD（“dead dead”）是-{zh-cn:蓝屏; zh-tw:藍白當機畫面;}-时显示的错误代码 。由于此代码在基于Windows NT的系统上用于进行-{zh-cn:内存转储; zh-tw:核心文件;}-，因而常为驱动开发者所见。0xDEADDEAD还有一个变种──0x000000E2，这两者在微软开发者网络中都被称为MANUALLY_INITIATED_CRASH。

0xDEADFA11（“dead fall”）为iOS应用程序崩溃报告中的“强制终止应用程序”的标识符。

0xDEFEC8ED（“defecated”）在OpenSolaris的核心文件中使用。

0xE011CFD0在微软Office文件中使用，小端序下表示为D0CF11E0，也即“docfile0”。

0xFACEFEED（“face feed”）在运行Windows NT的Alpha服务器上使用，也即当出现-{zh-cn:硬件; zh-tw:硬體;}-错误时，Alpha的-{zh-cn:硬件; zh-tw:硬體;}-抽象层就会产生这一错误信号。

0xFEE1DEAD（“feel dead”）是Linux重启系统-{zh-cn:调用; zh-tw:呼叫;}-中使用的魔术数。

C15C:0D06:F00D（cisco dog food）于世界IPv6日在www.cisco.com的IPv6地址中使用。“Dog food”指的就是就是Cisco在IPv6上“eating its own dog food”（也即用自家的设备）的做法。

不同情况下的区别

在Ada语言中，16进制数带有“16#”的前缀与“#”的后缀，例如“16#Ada_Ada_Ada_Ada#”。

在C语言中，16进制数用“0x”前缀标识。

在Intel格式的汇编语言中，16进制数用“h”后缀标识，且当开头数字为A-F时必须加“0”为前缀，例如0FEEDADEADF15h（FEED A DEAD FISH）。

在Pascal语言和MOS 6502使用的汇编语言中，16进制数用“$”前缀标识，也即以S开头的词语也可以用16进制数表示，比如$EED（即SEED）。

在型上16进制数是用俄语字母而非拉丁字母表示的，也即“−”、“L”、“C”、“Г”、“E”与空格，以此便可表示如“EГГ0Г”（即ERROR）这样的信息。

参见

Leet
魔术数字

注释

Category:源代码
Category:计算机幽默
Category:辨识混淆