JavaScript - Методы btoa() и atob()

На этом уроке мы познакомимся с методами объекта window
, которые предназначены для кодирования и декодирования строки на основе схемы base-64.
Метод btoa
Метод btoa
предназначен для кодирования строки, указанной в качестве параметра в ACSII строку base-64, которая будет представлена с помощью 64 символов: A-Z
, a-z
, 0-9
, +
, /
и =
. Кодирование Base64 может используется для визуального скрытия данных от пользователя, для передачи информации и др. Принцип работы метода заключается в том, что он сначала преобразуют строку в последовательность бит, которые затем на основе схемы base-64 преобразуются в закодированную строку.

Синтаксис метода:
window.btoa(Параметр_1);
Метод btoa()
содержит один обязательный параметр - это строка которую нужно закодировать.
Например, закодировать строку в base-64:
var txt = "I Love JavaScript!"; var result = "Исходная строка: " + txt; result += "<br />"; var encode = window.btoa(txt); var result = "Закодированная строка: " + encode; console.log(result);
Примечание: Если в качестве параметра метода window.btoa()
будет использоваться строка Unicode, то может произойти исключение, из-за того что данная строка может содержать символы вне диапазона.
Чтобы этого не допустить, можно использовать следующие функции:
//кодирование строки Unicode в base-64 function utf8_to_b64(str) { return window.btoa(unescape(encodeURIComponenet(str))); } //декодирование строки из base-64 в Unicode function b64_to_utf8(str) { return decodeURIComponent(escape(window.atob(str))); }
Метод atob
Методatob()
декодирует строку, закодированную с помощью метода btoa()
, т.е. он возвращает исходную строку.
Синтаксис метода:
window.atob(Параметр_1);
Метод atob()
содержит один обязательный параметр - это строка которую нужно декодировать.
Например, декодировать строку, закодированную с помощью метода btoa()
:
var txt = "I Love JavaScript!"; var result = "Исходная строка: " + txt; var result = "<br />"; var encode = window.btoa(txt); result += "Закодированная строка: " + encode; result += "<br />"; var decode = window.atob(encode); result +="Декодированная строка: " + decode; console.log(result);
Комментарии: 2