WorkerGlobalScope: btoa() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能僅在 Web Workers 中可用。

WorkerGlobalScope 介面的 btoa() 方法可以從一個二進位制字串(即字串中的每個字元都被視為一個位元組的二進位制資料)建立一個 Base64 編碼的 ASCII 字串。

您可以使用此方法來編碼可能引起通訊問題的資料,傳輸它,然後使用 WorkerGlobalScope.atob() 方法再次解碼資料。例如,您可以編碼控制字元,如 ASCII 值 0 到 31。

語法

js
btoa(stringToEncode)

引數

stringToEncode

要編碼的二進位制字串

返回值

包含 stringToEncode 的 Base64 表示形式的 ASCII 字串。

異常

InvalidCharacterError DOMException

字串包含一個無法放入單個位元組的字元。有關詳細資訊,請參閱下面的“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

瀏覽器相容性

另見