WorkerGlobalScope: метод btoa()
Базовая реализация Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна только в Веб-воркерах.
Метод btoa() интерфейса WorkerGlobalScope создаёт строку, закодированную в Base64 с использованием кодировки ASCII из бинарной строки (то есть строки, в которой каждый символ строки рассматривается как байт бинарных данных).
Вы можете использовать этот метод для кодирования данных, которые могут вызвать проблемы с передачей, передать их, а затем использовать метод WorkerGlobalScope.atob() для их повторного декодирования. Например, вы можете кодировать управляющие символы, такие как значения ASCII от 0 до 31.
Синтаксис
btoa(stringToEncode)
Параметры
stringToEncode-
Бинарная строка для кодирования.
Возвращаемое значение
Строка ASCII, содержащая представление в Base64 кодировки stringToEncode.
Исключения
-
InvalidCharacterErrorDOMException -
Строка содержала символ, который не помещался в один байт. Дополнительные сведения см. в разделе "Строки Unicode" ниже.
Примеры
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 |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
btoa |
4 | 12 | 1 | 10.5 | 3 | 18 | 4 | 11 | 1 | 1.0 | ≤37 |
worker_support |
30 | 12 | 4 | 17 | 10 | 30 | 4 | 18 | 10 | 2.0 | 4.4 |
См. также
-
Полифилл метода
btoaдоступен вcore-js dataURLWorkerGlobalScope.atob()-
Window.btoa(): тот же метод, но в глобальном контексте `window`. Uint8Array.prototype.toBase64()- Base64
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/btoa