Javascript btoa: WindowBase64.btoa() — Интерфейсы веб API

Какая польза от метода 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

  • Строки 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/Base64

    P.S. Должен признаться, я сам сначала был сбит с толку названиями и думал, что имена поменялись местами. я думал что b означает " b закодированная строка ase64" и a вместо " a ny строка"

    :D.

    2

    Имена взяты из функции unix с аналогичной функциональностью, но вы уже можете прочитать это в других ответах здесь.


    Вот моя мнемоника, чтобы запомнить какую использовать. На самом деле это не отвечает на сам вопрос, но может помочь людям понять, какую из функций использовать, не оставляя открытой вкладку для этого вопроса о переполнении стека в течение всего дня.

    От Прекрасного до Ужасного

    btoa

    Возьмите что-то Прекрасное (т.е. красивый контент, который будет иметь смысл для вашего приложения: json, xml, текст, двоичные данные) и преобразуйте его во что-то Ужасное, что нельзя понять как есть (т.е. : закодировано).

    От ужасного до прекрасного

    atob

    Полная противоположность btoa

    Примечание

    Некоторые могут сказать, что двоичный код не красив, но эй, это всего лишь уловка, чтобы помочь вам.

    0

    В данный момент я не могу найти источник, но общеизвестно, что в данном случае b означает «двоичный», а a — «ASCII».

    Следовательно, функции на самом деле называются:

    ASCII to Binary for atob() , и Двоичный код в ASCII для btoa() .

    Обратите внимание, что это реализация браузера, и она была оставлена ​​для обеспечения совместимости с предыдущими версиями.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *