文本与 Base64 互相转换
Base64 是一种用 64 个可打印字符表示任意二进制数据的编码方式,常用在需要把数据塞进纯文本环境的地方,比如邮件附件、网页里内嵌的图片(data URI)、接口里传递的令牌和配置。这个工具提供三个功能:把文本编码成 Base64、把 Base64 字符串解码回文本,以及把你选择的文件转成 Base64 字符串。文本使用 UTF-8 编码,所以中文和表情符号都能正常往返。有一件事必须先说清楚:Base64 是编码而不是加密,任何人都能把它还原,不能用它来保护密码或隐私数据。
以下结果是用本工具同样的方法运行得到的。把「Hello」编码,得到 SGVsbG8=。把「Hello, 世界」编码,得到 SGVsbG8sIOS4lueVjA==,其中的「世界」因为是 UTF-8 的 6 个字节,所以占用了后面的几个字符。把 SGVsbG8sIOS4lueVjA== 解码,会得到原来的「Hello, 世界」。结尾的等号是补位字符,用来让长度成为 4 的倍数;解码 SGVsbG8(没有等号)也能得到 Hello,因为浏览器的解码函数允许缺少补位。解码时,输入里的空格和换行会被忽略,所以从邮件里复制的多行 Base64 通常也能直接解。
不是,也不能。Base64 只是换了一种写法,没有任何密钥,任何人拿到字符串都能用解码工具还原。用它「藏」密码或个人信息没有任何保护作用。如果需要保护数据,请使用真正的加密。
常见原因有:字符串复制不完整(漏了开头或结尾几个字符);原数据不是文本而是二进制文件;原文使用的不是 UTF-8 编码(例如某些旧系统生成的 GBK 文本)。可以先确认字符串完整,再检查来源系统使用的字符集。
先用「上传文件转编码」得到 Base64,再在前面加上 data:image/png;base64,(换成你文件的实际类型,如 image/jpeg),就能在 HTML 或 CSS 里作为内嵌图片使用。小图标适合这样做,较大的图片会让页面变重,一般还是建议作为单独文件引用。
不会。「上传文件转编码」里的「上传」只是指把文件选进页面,读取和转换都由你的浏览器在本地完成,文件内容不会被发送给我们或任何第三方。
文本编码、解码和文件转换都在你的浏览器里完成,代码中没有任何把输入内容或文件发送到服务器的请求,也不会写入本地存储。刷新页面后输入和输出都会清空。复制按钮使用浏览器的剪贴板功能,内容只进入你自己的剪贴板。不过,如果你要处理的是令牌、密钥等敏感信息,仍建议在可信的设备上操作,并注意不要把结果贴到公开场合。