JS Base64编码和解码

Base64 是一种编码方式,可以将任意字符(包括二进制字符流)转成可打印字符。JavaScript 定义了两个与 Base64 相关的全局方法。
  • btoa():字符串或二进制值转为 Base64 编码。
  • atob():把 Base64 编码转为原来的字符。

Base64 方法不能够操作非 ASCII 字符。

示例

要将非 ASCII 码字符转为 Base64 编码,必须使用上一节介绍的方法把 Unicode 双字节字符串转换为 ASCII 字符表示,再使用这两个方法。
function b64Encode (str) {
    return btoa(encodeURIComponent(str));
}
function b64Decode (str) {
    return decodeURIComponent(atob(str));
}
var b = b64Encode('JavaScript 从入门到精通');
var a = b64Decode(b);
console.log(b);  //返回SmF2YVNjcmlwdCVFNCVCQiU4RSVFNSU4NSVBNFOSU5NyVBOCVFNSU4OCVCMCVFNyVCMiVCRSVFOSU4MCU5QQ==
console.log(a);  //返回“JavaScript 从入门到精通”