【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權威指南》也沒有;具體的就不深入了解了,慢慢來,繼續往下研究