Base64 编码器 / 解码器
在浏览器中即时将文本或文件编码为Base64,或解码Base64字符串。免费、私密,无需上传。
在浏览器中即时将文本或文件编码为Base64,或解码Base64字符串。免费、私密,无需上传。
Base64 是一种编码方案,使用 64 个可打印字符将二进制数据表示为 ASCII 文本:A-Z、a-z、0-9、加号 (+) 和斜杠 (/),并使用等号 (=) 进行填充。该格式最初旨在使二进制附件能够在 7 位干净的电子邮件传输中幸存,但如今已扩展到数十种用途:HTML 中的数据 URL、包含图像数据的 JSON、JWT 有效负载、基本身份验证标头以及任何需要携带字节的基于文本的协议。
编码需要 3 个字节的输入并产生 4 个 ASCII 字符的输出。因此,输出比输入长 33%,这是将二进制转换为文本安全格式的成本。解码正好反转该过程,从编码文本中恢复原始字节。
该工具可处理两个方向。编码模式采用文本输入(或通过上传的二进制文件)并生成 Base64 文本。解码模式采用 Base64 文本并生成原始文本或可下载的二进制文件。令牌和标识符支持 URL 安全变体(使用 - 和 _ 代替 + 和 /)。
Base64 是在纯文本上下文中嵌入二进制数据的标准方法。 HTML 中的内联图像使用数据 URL(data:image/png;base64,...),因此小图标可以随页面一起提供,无需单独的请求。携带图像、证书或签名的 JSON 有效负载将它们编码为 base64 字符串。 JWT 令牌是三个以点分隔的 Base64 编码段。
Base64 还规范了错误处理 8 位二进制的协议的字符处理。身份验证标头(基本身份验证使用 Base64)、电子邮件附件、包含密钥的配置文件以及许多 API 都需要 Base64,因为二进制文件无法可靠地通过其管道。
粘贴数据,选择方向。
Base64 将每 6 位输入映射到 64 个输出字符之一。三个输入字节(24 位)产生四个输出字符。当输入长度不是 3 的倍数时,编码器会附加一两个等号以将输出填充为 4 个字符的倍数。
URL 安全的 base64(在 RFC 4648 第 5 节中定义)将 + 替换为 - 并将 / 替换为 _,以生成可在 URL 和文件名中安全使用的字符串,而无需进一步转义。在 URL 安全上下文中,填充等号有时会被省略;解码器通常接受这两种形式。
JavaScript 的 btoa 和 atob 直接处理 ASCII,但无法处理非 ASCII 字符串。对于 UTF-8 文本,转换器使用 TextEncoder/TextDecoder 在文本和二进制之间进行转换,然后对二进制进行 Base64 编码。这可以正确处理表情符号、重音字符和非拉丁脚本。