场景:
1、因为有时候文本不能正确的打印,比如 ASCII 码0到31的符号都无法打印出来,这时可以使用 Base64 编码,将它们转成可以打印的字符
2、有时需要以文本格式传递二进制数据,那么也可以使用 Base64 编码。
解释:
使用Base64不是为了加密,而是 为了打印输出时不出现特殊字符,它仅仅是一种编码方式,可以将任意值转成 0~9、A~Z、a-z、+
和/
这64个字符组成的可打印字符。使用它是为了简化程序
JavaScript 原生提供两个 Base64 相关的方法
btoa()
:任意值转为 Base64 编码atob()
:Base64 编码转为原来的值
function b64Encode(str) {
return btoa(encodeURIComponent(str));
}
function b64Decode(str) {
return decodeURIComponent(atob(str));
}
b64Encode('你好') // "JUU0JUJEJUEwJUU1JUE1JUJE"
b64Decode('JUU0JUJEJUEwJUU1JUE1JUJE') // "你好"