用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'
相關文章
- js裡對URL進行編碼、解碼JS
- 用於將位元組進行base64編碼或解碼(C語言實現)C語言
- Postman進行簡單的base64編碼解碼請求測試Postman
- Base64 編碼解碼原理
- Base64編碼與解碼程式碼例項
- CryptoAPI 對資料Base64編碼解碼API
- JS 簡單實現UTF-8編碼,Base64編碼JS
- Base64編碼
- Base64編碼知識詳解
- Rust中字串的base64編碼與解碼Rust字串
- C#實現Base64編碼與解碼
- 【字元編碼】字元編碼 && Base64編碼演算法字元演算法
- base64 編碼原理
- 深入瞭解圖片Base64編碼
- 從原理上搞定編碼-- Base64編碼
- js中對URL進行轉碼與解碼JS
- Base64系列第二篇 python中使用Base64編碼解碼Python
- 計算機編碼規則之:Base64編碼計算機
- 【字元編碼系列】Base64編碼原理以及實現字元
- JavaScript base64解碼程式碼JavaScript
- Go JSON編碼與解碼?GoJSON
- Notepad++外掛Base64編解碼
- 《Node.js設計模式》使用流進行編碼Node.js設計模式
- Java之Base64編碼解析Java
- Java 8中的Base64編碼和解碼Java
- 【Java小工匠】密碼學--base64編碼Java密碼學
- Go語言基礎-常見編碼(Json、Base64)GoJSON
- 使用NSSecureCoding協議進行物件編解碼協議物件
- PHP安全的URL字串base64編碼和解碼PHP字串
- rust實戰系列-base64編碼Rust
- Java Base64編碼使用介紹Java
- base64編碼原理和函式函式
- Base64編碼的全面介紹
- 程式碼行數能衡量編碼進度嗎?
- android Java BASE64編碼和解碼一:基礎AndroidJava
- Base64自定義編碼表及破解
- base64編碼的原理及實現
- PHP中urlencode()函式進行URL編碼詳解PHP函式