🔢 Base16 编码/解码

RFC4648 · 十六进制 Hex · 大小写可选 · 中文 UTF-8 支持

0 1 2 3 4 5 6 7 8 9 A B C D E F
📝 输入内容
等待输入...
字符: 0 行: 0
📤 处理结果
等待处理...
字符: 0 膨胀率: -

什么是 Base16 编码?

Base16 是 RFC 4648 标准定义的编码方案,也就是我们熟悉的十六进制(Hex)表示法。它使用 16 个可打印 ASCII 字符——数字 0-9 与字母 A-F——对任意字节数据进行编码:每个字节(8 bit)正好拆成两个 4 bit(半字节 nibble),分别查表得到一个字符,因此编码后长度恒为原来的 2 倍(200%),且无需任何补位字符。

Base16 与 Base32、Base64 的区别

对比项Base16Base32Base64
膨胀率200%(8/4)160%(8/5)约 133%(4/3)
字母表0-9、A-FA-Z、2-7A-Z、a-z、0-9、+、/
是否需要补位是(=)是(=)
大小写敏感否(可统一)否(全大写)
典型场景MD5 摘要、MAC 地址、颜色值TOTP 密钥、DNS 记录邮件附件、内嵌图片

Base16 虽然空间开销最大,但 alphabet 全部由数字与字母组成、无 + / = 等特殊符号,URL 安全、不易抄错,且几乎所有编程语言都内置了现成的十六进制转换函数,是最通用的二进制文本表示方式。

生活中的 Base16

  • MD5 / SHA 摘要d41d8cd98f00b204e9800998ecf8427e 这类哈希值就是 Base16 小写形式。
  • MAC 地址AA:BB:CC:DD:EE:FF 是冒号分隔的 Base16。
  • 网页颜色值#667EEA 是井号前缀的 Base16。
  • UUID550e8400-e29b-41d4-a716-446655440000 中去掉连号后的主体同样是 Base16。

编码原理示例

以字符 A 为例:其 ASCII 码为 65,二进制为 01000001;按 4 bit 切分为 01000001,查表分别对应 4 和 1,故输出 41。中文字符如「菜」经 UTF-8 编码为 3 个字节 E8 8F 9C,共产生 6 个十六进制字符。解码则是逆过程:每两个字符合成一个字节,再按 UTF-8 还原为文本。

常见问题

  • Base16 就是十六进制吗?是的。Base16 是 RFC 4648 给十六进制表示法起的规范名称,两者完全等价。
  • 支持中文吗?支持。中文先按 UTF-8 编码为字节流(多数汉字 3 字节,对应 6 个 hex 字符),解码时按 UTF-8 还原。
  • 解不开报错?请检查是否存在奇数个有效字符(每字节需恰好 2 个字符)或混入了 G-Z 等非法字符;输入中的空格、换行、冒号与 0x 前缀会被自动忽略。

使用说明与小贴士

选择「编码」或「解码」模式并粘贴内容即实时出结果;点击「⇄ 交换」把结果送回输入框反向验证。「输出大小写」与「字节分隔」仅影响编码结果样式,解码时一律自动兼容。所有转换均在浏览器本地完成,不会上传任何数据。