Hex
编码十六进制表示法
十六进制(Hexadecimal,基数为 16)用 0–9 与 A–F 表示数值,是计算机领域表示字节、内存地址与颜色值的事实标准,一个字节恒可用两位十六进制完整表示。
什么是十六进制
十六进制以 16 为基数,数字 0–9 之外用 A–F(或小写 a–f)表示 10–15。一位十六进制恰好表示 4 个二进制位,因此一个 8 位字节永远可以写成两位十六进制(00–FF),二进制与十六进制之间的互转无需计算、只需逐位替换——这是它在底层领域无处不在的根本原因。
用在哪里
常见形态包括:字节串与哈希摘要(MD5 输出 32 个 hex 字符,SHA-256 输出 64 个)、内存地址与机器码反汇编、MAC 地址、颜色值(#2B6CFF)、UUID 的标准表示(8-4-4-4-12 共 32 个 hex 字符)、文件格式魔数(PNG 以 89 50 4E 47 开头)。
书写约定
不同语言环境前缀不同:C/JS 系用 0x(如 0x1F),汇编用后缀 h,CSS 用 #,数学文献用下标 16。字节序(大端/小端)在把 hex 串还原成多字节数值时是最大陷阱:同样字节序列在小端机器上解读的数值可能完全不同。
与 Base64 的取舍
Hex 与 Base64 都是"二进制变文本"的手段:Hex 体积翻倍但每字节对应固定两位、无歧义、便于按位分析;Base64 体积只增 33% 但不保留字节对齐。传输选 Base64,人工检查与协议文档选 Hex。