javascript原生的api本來就支持,Base64,但是由于之前的javascript局限性,導致Base64基本中看不中用。當前html5標準正式化之際,Base64將有較大的轉型空間,對于Html5 Api中出現的如FileReader Api, 拖拽上傳,甚至是Canvas,Video截圖都可以實現。
好了,前言說了一大堆,Base64轉碼和解碼有哪些方法:
一.我們來看看,在javascript中如何使用Base64轉碼
var str = 'javascript';window.btoa(str)//轉碼結果 "amF2YXNjcmlwdA=="window.atob("amF2YXNjcmlwdA==")//解碼結果 "javascript"二.對于轉碼來說,Base64轉碼的對象只能是字符串,因此來說,對于其他數據還有這一定的局限性,在此特別需要注意的是對Unicode轉碼。
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的使用方法就是這么簡單,大家可以嘗試一下。希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!
新聞熱點
疑難解答