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