【JavaScript原生提供两个Base64相关方法】
-
btoa():字符串或二进制值转为Base64编码
- atob():Base64编码转为原来的编码
备注:利用这两个原生方法,我们来封装一下,标题需求
【使用函数方式】
var str = '怪诞咖啡'; console.log(encode(str));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx console.log(decode(encode(str)));//怪诞咖啡 // 字符串转base64 function encode(str){ // 对字符串进行编码 var encode = encodeURI(str); // 对编码的字符串转化base64 var base64 = btoa(encode); return base64; } // base64转字符串 function decode(base64){ // 对base64转编码 var decode = atob(base64); // 编码转字符串 var str = decodeURI(decode); return str; }
【使用对象方式】
var base64 = { encode(str){ // 对字符串进行编码 var encode = encodeURI(str); // 对编码的字符串转化base64 var base64 = btoa(encode); return base64; }, decode(base64){ // 对base64转编码 var decode = atob(base64); // 编码转字符串 var str = decodeURI(decode); return str; } }; // 字符串转base64 console.log(base64.encode('怪诞咖啡'));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx // base64转字符串 console.log(base64.decode(base64.encode('怪诞咖啡')));//怪诞咖啡
【聊聊】
之前我摘录过一个base64转换博客,其实没怎么看,看了也没懂(嘿嘿);反正拿过来就用就对了,今天在研究JS,字符串相关知识的时候,发现了这两个宝贝,怎么说呢,这两个东东不在《JavaScript高级程序设计》中,《JavaScript权威指南》也没有;具体的就不深入了解了,慢慢来,继续往下研究