欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript使用btoa和atob來進(jìn)行Base64轉(zhuǎn)碼和解碼

 更新時間:2017年03月20日 15:57:32   作者:jiangxiaobo  
javascript原生的api本來就支持,Base64,但是由于之前的javascript局限性,導(dǎo)致Base64基本中看不中用。當(dāng)前html5標(biāo)準(zhǔn)正式化之際,Base64將有較大的轉(zhuǎn)型空間,對于Html5 Api中出現(xiàn)的如FileReader Api, 拖拽上傳,甚至是Canvas,Video截圖都可以實現(xiàn)

javascript原生的api本來就支持,Base64,但是由于之前的javascript局限性,導(dǎo)致Base64基本中看不中用。當(dāng)前html5標(biāo)準(zhǔn)正式化之際,Base64將有較大的轉(zhuǎn)型空間,對于Html5 Api中出現(xiàn)的如FileReader Api, 拖拽上傳,甚至是Canvas,Video截圖都可以實現(xiàn)。

好了,前言說了一大堆,Base64轉(zhuǎn)碼和解碼有哪些方法:

一.我們來看看,在javascript中如何使用Base64轉(zhuǎn)碼

var str = 'javascript';

window.btoa(str)
//轉(zhuǎn)碼結(jié)果 "amF2YXNjcmlwdA=="

window.atob("amF2YXNjcmlwdA==")
//解碼結(jié)果 "javascript"

二.對于轉(zhuǎn)碼來說,Base64轉(zhuǎn)碼的對象只能是字符串,因此來說,對于其他數(shù)據(jù)還有這一定的局限性,在此特別需要注意的是對Unicode轉(zhuǎn)碼。

var str = "China,中國"
window.btoa(str)

Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.

很明顯,這種方式是不行的,那么如何讓他支持漢字呢,

這就要使用window.encodeURIComponent和window.decodeURIComponent

var str = "China,中國";
window.btoa(window.encodeURIComponent(str))
//"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="

window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
//"China,中國"

btoa與atob的使用方法就是這么簡單,大家可以嘗試一下。希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

最新評論