Какая польза от метода window.btoa() в JavaScript?
Abdul Muizz
Grokking the Behavioral Interview
Получите бесплатный курс Educative по подготовке к собеседованию.
Метод window.btoa() в JavaScript
В этом ответе мы рассмотрим метод btoa() объекта окна. Этот метод кодирует определенную строку по нашему выбору в base-64. Формат кодирования, который преобразует двоичные данные и сжимает их в формат строки ASCII.
Синтаксис
window.btoa(string_to_encode)
Здесь объект window относится к открытому окну в нашем браузере.
Параметры
Этот метод принимает следующий параметр:
Возвращаемое значение
Возвращаемое значение этого метода представляет собой строку в формате base-64.
Примечание: Символы, используемые методом
window.btoa()для кодирования конкретной строки: «A–Z», «a–z», «0–9».,» «+», «/», » и «=». Возвращаемое значение метода всегда будет комбинацией последовательностей символов, перечисленных выше.
Код
В приведенном ниже примере кода используется этот метод и преобразуется строку по нашему выбору в формате base-64:
Объяснение
Строки 5–10: Этот код содержит тег
, который инкапсулирует содержимое нашей веб-страницы Некоторые из основных элементов HTML которые демонстрируют функциональность метода, следующие:Строка 8: Здесь у нас есть поле
, которое будет принимать входные данные от считывателя для строки, которую они хотят закодировать.Строка 9: Эта строка отображает HTML
для прослушивания событияonclickи запускает методencode().
Строки 12–16: В этих строках наш метод
encode()заключен в HTML 9.
0011 <скрипт> тегов. Тело метода состоит из следующих инструкций:Строка 13: Сначала мы извлекаем наше поле
, используя методdocument.getElementById(). Затем атрибутvalueпоможет получить пользовательский ввод и назначить его переменнойinput.Строка 14: Мы используем входную переменную
и задаем ее в качестве параметра дляметод window.btoa(). Возвращаемое значение, которое мы получаем, присваивается переменнойbase64. Итак, теперьbase64содержит нашу закодированную строку.Строка 15: Здесь мы используем метод Javascript
alert()для отображения закодированной строки читателю. Пожалуйста, обратитесь к этому ответу, чтобы узнать больше о методе alert() .
Примечание: Чтобы узнать больше об атрибуте
значенияиDocument.Метод, пожалуйста, см. Следующие ссылки:
getElementById () Атрибут значения
Document.getElementByID ()
. Muizz
Copyright © 2023 Educative, Inc. Все права защищены
Почему Javascript `atob()` и `btoa()` названы так?
спросил
Изменено 1 год, 1 месяц назад
Просмотрено 114 тысяч раз
В Javascript метод
window.atob()декодирует строку base64 , а методwindow.btoa()кодирует строкув base64 .Тогда почему они не были названы как
base64Decode()иbase64Encode()?atob()иbtoa()не имеют смысла, потому что они вообще не семантические.
Я хочу знать причину.
- JavaScript
6
Методы
atob()иbtoa()позволяют авторам преобразовывать содержимое в кодировку base64 и обратно.В этих API для мнемонических целей буква «b» может рассматриваться как означает «двоичный», а «а» — «ASCII». Однако на практике для прежде всего исторические причины, как вход, так и выход этих функции являются строками Unicode.
Откуда: http://www.w3.org/TR/html/webappapis.html#atob
13
Я знаю, что это старо, но недавно оно появилось в Твиттере, и я решил поделиться им, поскольку оно авторитетно.
Я:
@BrendanEich ты выбрал эти имена?
Он:
Старые имена Unix, трудно найти справочные страницы rn, но см. https://www.
unix.com/man-page/minix/1/btoa/ …. Имена перенесены из Unix в кодовую базу Netscape. Я отразил их в JS в большая спешка в 1995 (после десяти дней в мае, но скоро).
На случай, если ссылка Minix не работает, вот содержание страницы руководства:
BTOA(1) BTOA(1) ИМЯ btoa - преобразование двоичного кода в ascii СИНТАКСИС btoa [-adhor] [входящий файл] [выходной файл] ПАРАМЕТРЫ -a Декодировать, а не кодировать файл -d Извлекает файл восстановления из файла диагностики -h Отображается меню справки с параметрами -o Устаревший алгоритм используется для обратной совместимости -r Восстановить поврежденный файл ПРИМЕРЫ btoa
a.btoa # Конвертировать a.out в ASCII btoa -a a.out # Отменить вышеописанное ОПИСАНИЕ Btoa — фильтр, преобразующий двоичный файл в ascii для передачи по телефону. линия. Если указаны два имени файла, первое используется для ввода, а второе — для вывода. 
помещать. Если указан только один, он используется в качестве входного файла. Программа представляет собой функцию- Аналогичная альтернатива uue/uud, но кодировка совершенно другая. Поскольку оба из них широко используются, оба были включены в MINIX. Файл расширен о 25 процентов в процессе. СМОТРИТЕ ТАКЖЕ ууэ(1), ууд(1). 9К"btoaозначает двоичный кодв ASCII.- например:
btoa("\x01\x02\xfe\xff") == "AQL+/w=="
Почему A SCII и b inary:
-
ASCII(a) является результатом кодированияbase64. Безопасный текст , состоящий только из подмножества символов ascii (*), которые могут быть правильно представлены и переданы (например, тело электронного письма), -
двоичный файл(b) — это любой поток 0s и 1s (в javascript он должен быть представлен строковым типом).
(*) в
base64они ограничены:A-Z,a-z,0-9,+,/и = заполнение только в конце, https,/en.wikipedia.org/wiki/Base64P.S. Должен признаться, я сам сначала был сбит с толку названиями и думал, что имена поменялись местами. я думал что
bозначает " b закодированная строка ase64" иaвместо " a ny строка" :D.2
Имена взяты из функции unix с аналогичной функциональностью, но вы уже можете прочитать это в других ответах здесь.
Вот моя мнемоника, чтобы запомнить какую использовать. На самом деле это не отвечает на сам вопрос, но может помочь людям понять, какую из функций использовать, не оставляя открытой вкладку для этого вопроса о переполнении стека в течение всего дня.

От Прекрасного до Ужасного
btoaВозьмите что-то Прекрасное (т.е. красивый контент, который будет иметь смысл для вашего приложения: json, xml, текст, двоичные данные) и преобразуйте его во что-то Ужасное, что нельзя понять как есть (т.е. : закодировано).
От ужасного до прекрасного
atobПолная противоположность btoa
Примечание
Некоторые могут сказать, что двоичный код не красив, но эй, это всего лишь уловка, чтобы помочь вам.
0
В данный момент я не могу найти источник, но общеизвестно, что в данном случае b означает «двоичный», а a — «ASCII».
Следовательно, функции на самом деле называются:
ASCII to Binary foratob(), и Двоичный код в ASCII дляbtoa().Обратите внимание, что это реализация браузера, и она была оставлена для обеспечения совместимости с предыдущими версиями.


,» «+», «/», » и «=». Возвращаемое значение метода всегда будет комбинацией последовательностей символов, перечисленных выше.
0011 <скрипт> тегов. Тело метода состоит из следующих инструкций:
getElementById () 




