首页 Hex 转 Base64

Hex 转 Base64

将十六进制字符串转换为 Base64 字符串 — 100% 在浏览器中运行。

输入

输出

什么是 Hex?

十六进制(Hexadecimal,通常简称为 Hex)是一种以 16 为基数的数字系统,使用数字 0–9 和字母 A–F 来表示数值 10–15。在计算机领域,Hex 是写入原始字节最常用的方式,因为每个字节(0–255)只需两个十六进制数字即可表示 — 例如字节 255 写作 FF,字节 72 写作 48。Hex 字符串通常以 0x 作为前缀(例如 0x4A6F)以明确基数,从汇编清单、内存转储到加密指纹和 CSS 颜色代码都能看到它的身影。

由于每个十六进制数字代表 4 位,一对十六进制数字总是精确表示一个字节。这使 Hex 成为一种紧凑、无歧义且易读的二进制数据查看和交换方式 — 你可以读取、复制、粘贴到聊天或工单中,另一位开发者将收到完全相同的字节。

什么是 Base64?

Base64 是一种使用 64 个可打印 ASCII 字符来表示二进制数据的编码方案 — 包括大写字母 A–Z、小写字母 a–z、数字 0–9,外加符号 "+" 和 "/",以及用于填充的 "="。由于输出仅使用安全的 ASCII 字符,Base64 可以通过那些原本会破坏或拒绝原始二进制数据的系统传输:邮件正文、JSON 字段、HTTP 头、URL 和数据库文本列。

Base64 的工作原理是每次取输入字节的三个为一组(24 位),将其拆分为四个 6 位组,每个 6 位组在 64 字符字母表中查找对应字符。因此编码后的输出长度总是 4 的倍数,且比原始字节大约长 33%。

Hex 与 Base64 的区别

Hex 和 Base64 都将二进制数据编码为文本,但它们的密度和用途不同。Hex 使用 16 个字符(0–9、A–F),输出长度是输入的两倍 — 每字节两个十六进制字符。Base64 使用 64 个字符,输出比输入大约长 33% — 每三个字节四个 Base64 字符。

当需要直观地查看、调试或比较字节时,Hex 是更好的选择,因为每个字节都映射到固定的两个字符对。当需要尽可能紧凑地通过纯文本通道传输字节时,Base64 是更好的选择。从 Hex 转换为 Base64 可以让你将以可读 Hex 形式存储或共享的数据,通过偏好 Base64 的系统传输 — 例如在 JSON Web Token 中嵌入密钥或将二进制数据粘贴到邮件中。

何时需要将 Hex 转换为 Base64

在以下几种实际场景中,将 Hex 转换为 Base64 非常有用:

  • API 载荷。 某些 API 仅接受 Base64 格式的二进制数据。如果源数据是 Hex 字符串,发送前需先转换。
  • 加密令牌。 HMAC 输出、AES 密钥和 IV 常以 Hex 形式共享,但 JWT 等格式要求 Base64URL。
  • 邮件附件。 邮件正文中内联的二进制内容必须使用 Base64 编码;Hex 源需先转换。
  • Data URI。 HTML 或 CSS 中内联的小型二进制数据使用 Base64,而非 Hex。
  • 数据库导出。 当列为纯文本时,将 Hex 值存储为 Base64 可节省空间。

每当系统接受 Base64 但你只有 Hex 时,此转换器可立即给出正确输出。

如何将 Hex 转换为 Base64

使用此工具将 Hex 转换为 Base64 只需一秒,且全部在浏览器中完成。无需上传、无需注册、无需安装。按以下步骤操作:

  1. 粘贴 Hex 字符串。 空格、换行和前导 0x 会被自动接受并去除。
  2. 点击"转换"。 Base64 字符串会显示在输出框中。如果输入无效(长度为奇数或包含非 Hex 字符),将显示错误。
  3. 复制结果。 点击"复制"将 Base64 字符串复制到剪贴板,然后粘贴到需要的地方。

由于每一步都使用 JavaScript 在本地运行,你的数据永远不会离开浏览器。这使得该工具适合处理密钥、令牌和其他机密字节。

这个 Hex 转 Base64 转换器免费吗?

完全免费,无需注册,无水印,除设备内存外无任何限制。

它支持空格和 0x 前缀吗?

支持。空白、换行和前导 0x 在解码前会自动去除。

如果 Hex 字符串长度为奇数怎么办?

需要偶数个十六进制数字(每字节两个数字)。如果长度为奇数或输入包含非 Hex 字符,工具将显示错误。

我的输入会上传吗?

不会。所有处理均在本地完成。你的 Hex 字符串永远不会离开浏览器。