库
https://github.com/dankogai/js-base64
Base64.encode('zhangxinxu');
// 返回:'emhhbmd4aW54dQ=='
Base64.decode('emhhbmd4aW54dQ==');
// 返回:'zhangxinxu'
原生
从IE10+浏览器开始,所有浏览器就原生提供了Base64编码解码方法,不仅可以用于浏览器环境,Service Worker环境也可以使用
var encodedData = window.btoa(stringToEncode); //编码
var decodedData = window.atob(encodedData); // 解码
var decodedData = self.atob(encodedData);
中文Base64数据转换
window.btoa(window.encodeURIComponent('嘻嘻哈哈哈哈啦啦啦啦'));
window.decodeURIComponent(window.atob('JUU1JTk4JUJCJUU1JTk4JUJCJUU1JTkzJTg4JUU1JTkzJTg4JUU1JTkzJTg4JUU1JTkzJTg4JUU1JTk1JUE2JUU1JTk1JUE2JUU1JTk1JUE2JUU1JTk1JUE2'));
btoa(unescape(encodeURIComponent(str)))