用JS進行Base64編碼、解碼
從IE10+瀏覽器開始,所有瀏覽器就原生提供了Base64編碼、解碼方法,不僅可以用於瀏覽器環境,Service Worker環境也可以使用。
方法名就是 atob 和 btoa ,具體語法如下:
window.btoa('china is so nb') // 編碼
"Y2hpbmEgaXMgc28gbmI="
window.atob("Y2hpbmEgaXMgc28gbmI=") // 解碼
"china is so nb"
IE8/IE9的polyfill
當下,仍有不少PC專案還需要相容IE9,所以,我們可以專門針對這些瀏覽器再引入一段ployfill指令碼或者一個JS檔案即可。
<!--[if IE]>
<script src="https://www.zhangxinxu.com/wordpress/2018/08/js-base64-atob-btoa-encode-decode/base64-polyfill.js"></script>
<![endif]-->
[if IE] 表示所有IE瀏覽器,由於IE10+瀏覽器已經放棄了著名的IE條件註釋的支援,Chrome等瀏覽器本身就不支援這個IE私有語法,因此,很天然的,上面一段script引入只在IE9-瀏覽器下有效。而我們本來就希望只IE8,IE9瀏覽器引入ployfill,於是正好完美銜接上。
也就是原生支援atob和btoa方法的瀏覽器認為就是一段無需關心的HTML註釋,不支援atob和btoa的IE9及其以下瀏覽器則會載入我們的base64-polyfill.js,使瀏覽器也支援 window.btoa 和 window.atob 這個語法。
開源的base64.js ,使用很簡單,瀏覽器引入該JS檔案,然後Base64編碼這樣
Base64.encode('china is so nb'); // 編碼
"Y2hpbmEgaXMgc28gbmI="
Base64.decode("Y2hpbmEgaXMgc28gbmI="); // 解碼
'china is so nb'
相關文章
- 用於將位元組進行base64編碼或解碼(C語言實現)C語言
- JS 簡單實現UTF-8編碼,Base64編碼JS
- base64 編碼
- Base64編碼
- Base64編碼知識詳解
- Rust中字串的base64編碼與解碼Rust字串
- js中對URL進行轉碼與解碼JS
- Notepad++外掛Base64編解碼
- 深入瞭解圖片Base64編碼
- base64 編碼原理
- 《Node.js設計模式》使用流進行編碼Node.js設計模式
- 計算機編碼規則之:Base64編碼計算機
- JavaScript base64解碼程式碼JavaScript
- Java 8中的Base64編碼和解碼Java
- 【Java小工匠】密碼學--base64編碼Java密碼學
- Java之Base64編碼解析Java
- JS、C#中URL編碼解碼問題JSC#
- Base64編碼的全面介紹
- base64編碼原理和函式函式
- rust實戰系列-base64編碼Rust
- 程式碼行數能衡量編碼進度嗎?
- JS字串編碼JS字串編碼
- Base64自定義編碼表及破解
- Netty入門系列(3) --使用Netty進行編解碼的操作Netty
- 檔案 編碼為Base64字串字串
- base16,base32,base64 編碼方式的通俗講解
- Unicode編碼解碼Unicode
- 用 JS 程式碼解釋 Java StreamJSJava
- 如何對 Neuron 原始碼進行交叉編譯原始碼編譯
- python base64 編解碼,轉換成Opencv,PIL.Image圖片格式PythonOpenCV
- 關於base64編碼的原理及實現
- 圖片 base64 編碼還原成圖片
- netty系列之:java中的base64編碼器NettyJava
- Base64 編碼知識,一文打盡!
- WebAssembly體驗之編碼base64(AssemblyScript使用教程)Web
- html實體編碼遇上js程式碼HTMLJS
- Javascript編碼解碼URLJavaScript
- Android中使用ffmpeg編碼進行rtmp推流Android