JavaScript 原本就支持 base64, 只是由于之前的JavaScript的局限性,導(dǎo)致base64的作用不大。而隨著HTML5標(biāo)準(zhǔn)化之后,Base64也有了較大的發(fā)展空間
我們先來(lái)看看 JavaScript 如果使用base64 轉(zhuǎn)碼
var str = 'Hello World';
window.btoa(str) // 'SGVsbG8gV29ybGQ='
window.atob("SGVsbG8gV29ybGQ=") // "Hello World"
但是,base64 的轉(zhuǎn)碼不包括中文,因此我們需要進(jìn)行Unicode轉(zhuǎn)碼
var str = '你好'
window.btoa(window.encodeURIComponent(str)) // 'JUU0JUJEJUEwJUU1JUE1JUJE'
window.decodeURIComponent(window.atob('JUU0JUJEJUEwJUU1JUE1JUJE')) // '你好'