Base64 JS編碼 解碼

2021-09-13 10:44:04 字數 1028 閱讀 2676

簡單粗暴的解釋就是為了資料的安全性。

我們一般使用window.btoa()對原始資料進行編碼。

我們一般使用window.atob()對編碼過後的資料進行編碼。

如果所示,上面說到的編碼/解碼方法並不支援中文,因為它們只支援ascii 編碼

但是在實際開發中,前後端要傳遞的資料通常不可能只有英文或者數字的。那麼一旦我們要編碼或者說解碼的時候出現了中文字串怎麼辦呢?

由於btoa()atob()只支援ascii 編碼,所以我們可以先將帶中文的字串轉碼成ascii 編碼,這裡要用到兩種方法,encodeuricomponentdecodeuricomponent, 然後再進行編碼/解碼操作,這樣就可以解決不支援中文的問題。

decodeuricomponent(window.atob('juu0jui4jufejuu2jtk2jtg3'))

對資料進行解碼。

在某些情況下,用了上面的方法也會出現中文亂碼的情況,如github api獲取到的readme、qq**歌詞api解析出來的歌詞等。

如果出現了這種情況,我們可以使用unescape()escape()方法對做過解碼/編碼處理的資料進行utf-8再解碼/編碼。語法如下:

window.btoa(unescape(encodeuricomponent(str))) //編碼

decodeuricomponent(escape(window.atob(str))) // 解碼

base64編碼 解碼

ps base64是一種資料編碼方式,目的是讓資料符合傳輸協議的要求,有些人誤用它進行資料加密 base64編碼 nsstring base64encodedstringwithstring nsstring string base64解碼 nsstring base64decodedstringw...

Base64編碼解碼

一.base64編碼由來 為什麼會有base64編碼呢?因為有些網路傳送渠道並不支援所有的位元組,例如傳統的郵件只支援可見字元的傳送,像ascii碼的控制字元就不能通過郵件傳送。這樣用途就受到了很大的限制,比如二進位製流的每個位元組不可能全部是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議...

base64編碼和解碼,原生js

實際上,從ie10 瀏覽器開始,所有瀏覽器就原生提供了base64編碼解碼方法,不僅可以用於瀏覽器環境,service worker環境也可以使用。方法名就是atob和btoa,具體語法如下 1 base64解碼 語法為 瀏覽器中 var decodeddata window.atob encode...