Base64 教程中心

JavaScript Base64 编码与解码

浏览器提供 btoa() 和 atob(),但它们面向字节字符串,直接传入中文或 emoji 可能报错或产生乱码。

先转换为 UTF-8 字节

编码前使用 TextEncoder,解码后使用 TextDecoder,才能稳定处理多语言表单和接口数据。

const bytes=new TextEncoder().encode(text); const encoded=btoa(String.fromCodePoint(...bytes)); const decoded=new TextDecoder().decode(Uint8Array.from(atob(encoded),c=>c.charCodeAt(0)));

处理文件时的注意事项

小文件可以用 FileReader 预览,大文件应分块处理,避免一次性创建巨大字符串。可用在线编码器验证结果。