W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
該WindowOrWorkerGlobalScope.btoa()方法從String對(duì)象創(chuàng)建一個(gè)base-64編碼的ASCII字符串,其中字符串中的每個(gè)字符都被視為二進(jìn)制數(shù)據(jù)的字節(jié)。
注意:由于此函數(shù)將每個(gè)字符視為二進(jìn)制數(shù)據(jù)的字節(jié),無(wú)論實(shí)際構(gòu)成字符的字節(jié)數(shù)如何,如果任何字符的代碼點(diǎn)超出范圍0x00至0xFF ,則拋出InvalidCharacterError異常。
var encodedData = scope.btoa(stringToEncode);
stringToEncode
一個(gè)包含 stringToEncode 的 Base64 表示形式的字符串。
var encodedData = window.btoa('Hello, world'); // encode a string
var decodedData = window.atob(encodedData); // decode the string
您可以使用此方法對(duì)可能導(dǎo)致通信問題的數(shù)據(jù)進(jìn)行編碼,然后將其傳輸,然后再使用該atob()方法對(duì)數(shù)據(jù)進(jìn)行解碼。例如,您可以編碼控制字符(例如,ASCII值0到31)。
btoa()也可用于在JavaScript中實(shí)現(xiàn)的XPCOM組件,即使Window不是組件中的全局對(duì)象。
在大多數(shù)瀏覽器中,在Unicode字符串上調(diào)用btoa()將導(dǎo)致InvalidCharacterError異常。
一種選擇是轉(zhuǎn)義任何擴(kuò)展字符,以便實(shí)際編碼的字符串是原始字符的ASCII表示形式??紤]這個(gè)例子,JohanSundstr?m指出:
// ucs-2 string to base64 encoded ascii
function utoa(str) {
return window.btoa(unescape(encodeURIComponent(str)));
}
// base64 encoded ascii to ucs-2 string
function atou(str) {
return decodeURIComponent(escape(window.atob(str)));
}
// Usage:
utoa('? à la mode'); // 4pyTIMOgIGxhIG1vZGU=
atou('4pyTIMOgIGxhIG1vZGU='); // "? à la mode"
utoa('I \u2661 Unicode!'); // SSDimaEgVW5pY29kZSE=
atou('SSDimaEgVW5pY29kZSE='); // "I ? Unicode!"
規(guī)范
規(guī)范 | 狀態(tài) | 注釋 |
---|---|---|
HTML Living Standard
該規(guī)范中“WindowOrWorkerGlobalScope.btoa()”的定義。
|
Living Standard
|
方法移動(dòng)到最新規(guī)范中的WindowOrWorkerGlobalScope mixin。
|
HTML Living Standard
該規(guī)范中“WindowBase64.btoa()”的定義。
|
Living Standard
|
自最新快照以來(lái)沒有任何變化,HTML 5.1。
|
HTML 5.1
該規(guī)范中“WindowBase64.btoa()”的定義。
|
Recommendation
|
HTML Living Standard快照。沒有改變。 |
HTML5
該規(guī)范中“WindowBase64.btoa()”的定義。
|
Recommendation
|
HTML Living Standard快照。創(chuàng)建WindowBase64 (在其之前的目標(biāo)上的屬性)。
|
電腦端 | 移動(dòng)端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome
|
Edge
|
Firefox
|
Internet Explorer
|
Opera
|
Safari
|
Android webview | Chrome for Android
|
Edge Mobile | Firefox for Android
|
Opera for Android
|
iOS Safari | |
基本支持 | 支持 | 支持 | 支持:1 | 支持:10 | 支持 | 支持 | 支持 | 支持 | ? | 支持:4 | ? | 支持 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: