Hex 编解码
十六进制与文本互转,支持空格分隔、大小写、字节序设置。
Hex 十六进制在线编解码
Hex(十六进制)是用 16 个字符(0-9、A-F)表示二进制字节的编码方式,每个字节对应 2 个 Hex 字符。 Hex 在逆向工程、底层调试、二进制查看、密码学输出等领域广泛使用。本工具支持 UTF-8 文本与 Hex 互转, 可自定义分隔符(空格、冒号、短横线、0x 前缀等)和大小写。
Hex 与 Base64 对比
- 体积:Hex 膨胀 2 倍(每字节 2 字符),Base64 膨胀 4/3 倍。
- 可读性:Hex 更易人工阅读,每字符直接对应半字节。
- 调试:Hex 适合 hex dump、内存查看;Base64 适合传输。
- 常见格式:MAC 地址、颜色值、哈希值、UUID 常用 Hex;图片 Data URL、邮件附件用 Base64。
常见应用
- 逆向工程:hexdump 查看二进制文件结构
- 密码学:哈希值、密钥、密文的 Hex 表示
- 颜色:CSS 颜色 #RRGGBB 就是 Hex
- MAC 地址:网卡硬件地址用 Hex 表示
- Unicode:U+XXXX 是字符 Unicode 码点 Hex
Hex 编码注意事项
Hex 不是加密:和 Base64 一样,Hex 只是编码方式,任何人都能解码,完全不提供保密性。Hex 常用于显示加密后的二进制结果——因为密文是二进制字节,直接显示是乱码,转成 Hex 才能以可读文本形式呈现。AES 加密的输出通常是 Base64 或 Hex,两者只是密文的不同表示,密文本身没变。
字节序问题:Hex 表示二进制时需注意字节序(endianness)。大端序(big-endian,网络字节序)高位在前,小端序(little-endian,x86/ARM 原生)低位在前。例如整数 0x4D2 在大端序 Hex 为 04 D2,小端序为 D2 04。网络协议通常用大端序,CPU 内部通常用小端序,跨平台传输需转换(如 htonl/ntohl)。查看二进制文件时要先确定字节序,否则解读会完全错误。
UTF-8 与中文:中文以 UTF-8 编码存储,每个汉字占 3 字节,即 6 个 Hex 字符。例如"中"的 UTF-8 编码为 E4 B8 AD,"文"为 E6 96 87。把 Hex 解码为文本时,必须知道原编码(UTF-8/GBK/UTF-16),否则会乱码。本工具固定使用 UTF-8解码,如果你的 Hex 是 GBK 编码的中文,需先转为 UTF-8 再用本工具。奇数长度错误是最常见的 Hex 解码失败原因——Hex 必须 2 个字符一组表示 1 字节,奇数个字符无法解析,请检查是否漏了字符。