⌘K 切换工具
ENCODE & DECODE

Base64 编码 / 解码

支持UTF-8的Base64字符串编码和解码。

local
❯ base64
INPUT · text0 B
OUTPUT · base640 B
IN
0 B
OUT
0 B
RATIO
TIME
runs on input · nothing is sent
§01 关于此工具

概述

Base64 把任意字节映射到一个 64 个字符的 ASCII 字母表(A–Za–z0–9+/)。它的作用是让二进制数据能穿过那些只可靠处理文本的通道——data URI、JSON、邮件(MIME)以及 HTTP 头。这些地方要么只允许 ASCII,要么会对某些字节做特殊处理,原始二进制没法安全地通过。这个工具边输入边转换,同时显示输入与输出的字节数、两者的体积比,以及转换耗时。

使用方法

  1. 用顶部的 encode / decode 标签选择方向。
  2. 把内容粘贴或输入到 INPUT 面板——OUTPUT 面板每敲一个键就更新一次。
  3. copy ⧉ 取走结果,或用 clear 清空输入。下方的状态条给出 INOUTRATIOTIME

示例

  • Hello, worldSGVsbG8sIHdvcmxk
  • こんにちは44GT44KT44Gr44Gh44Gv(UTF-8 处理正确)
  • 解码 SGVsbG8sIHdvcmxkHello, world

说明

Base64 是编码,不是加密——它不提供任何保密性,任何人都能把它解回原文。输出的体积大约是输入的 1.33 倍,RATIO 那一栏可以让你直接看到这个膨胀。解码无效输入时不会给出结果,而是显示 invalid base64 — check characters and padding。解码器只接受字母表以内的字符和完整的填充,所以从邮件或日志里复制来的字符串,如果中间被折了行、或者结尾的 = 被截掉,就会撞上这条提示。

FAQ
我的数据会发到服务器吗?
不会。Base64 的编码和解码都用浏览器内置的 TextEncoder 与 btoa/atob 完成,全程在本地,不上传也不保存。
支持 Unicode 和 emoji 吗?
支持。输入会先按 UTF-8 编码再做 Base64 转换,所以多字节字符和 emoji 都能正确往返。
解码时为什么提示 base64 无效?
解码器会拒绝含有 Base64 字母表之外的字符、或者填充已被破坏的字符串。检查一下字符串中间有没有混进空白、结尾的 = 填充有没有丢,或者是不是用了以 - 和 _ 替代 + 和 / 的 URL-safe 变体。