WorkerGlobalScope: btoa() 方法
注意:此功能僅在 Web Workers 中可用。
WorkerGlobalScope 介面的 btoa() 方法可以從一個二進位制字串(即字串中的每個字元都被視為一個位元組的二進位制資料)建立一個 Base64 編碼的 ASCII 字串。
您可以使用此方法來編碼可能引起通訊問題的資料,傳輸它,然後使用 WorkerGlobalScope.atob() 方法再次解碼資料。例如,您可以編碼控制字元,如 ASCII 值 0 到 31。
語法
js
btoa(stringToEncode)
引數
stringToEncode-
要編碼的二進位制字串。
返回值
包含 stringToEncode 的 Base64 表示形式的 ASCII 字串。
異常
InvalidCharacterErrorDOMException-
字串包含一個無法放入單個位元組的字元。有關詳細資訊,請參閱下面的“Unicode 字串”。
示例
js
const encodedData = self.btoa("Hello, world"); // encode a string
const decodedData = self.atob(encodedData); // decode the string
Unicode 字串
Base64 本身就期望二進位制資料作為輸入。在 JavaScript 字串中,這意味著字串中每個字元的程式碼點只佔用一個位元組。因此,如果您將包含佔用多個位元組的字元的字串傳遞給 btoa(),您將收到一個錯誤,因為這不被視為二進位制資料。
有關更多資訊和解決方法,請參閱 Window.btoa()。
規範
| 規範 |
|---|
| HTML # dom-btoa-dev |
瀏覽器相容性
載入中…
另見
btoa的 填充程式可在core-js中找到。dataURLWorkerGlobalScope.atob()Window.btoa():相同的方法,但在 window 作用域中。Uint8Array.prototype.toBase64()- Base64