Добавить в корзинуПозвонить
Найти в Дзене

Что такое base64?

Base64 — это схема кодирования двоичных данных в текстовый формат, которая представляет эти данные в виде последовательности ASCII-символов. Если говорить проще, это способ превратить любые «не текстовые» данные (например, картинки, исполняемые файлы, zip-архивы) в обычный текст. Это нужно для того, чтобы эти данные можно было безопасно передать через протоколы, которые предназначены исключительно для текста. Где это используется? Base64 очень часто встречается в повседневной жизни в интернете: 1. Вставка изображений в HTML и CSS (Data URL). Вместо того чтобы загружать картинку с сервера отдельным запросом, её можно встроить прямо в код страницы в base64-виде. Пример: src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." 2. Передача вложений в электронной почте (MIME). Протокол SMTP для почты изначально был текстовым, поэтому для отправки картинок, документов и других файлов их кодируют в base64. 3. Хранение небольших данных в форматах, рассчитанных на текст. Например, в JSON или
Оглавление

Base64 — это схема кодирования двоичных данных в текстовый формат, которая представляет эти данные в виде последовательности ASCII-символов.

Если говорить проще, это способ превратить любые «не текстовые» данные (например, картинки, исполняемые файлы, zip-архивы) в обычный текст. Это нужно для того, чтобы эти данные можно было безопасно передать через протоколы, которые предназначены исключительно для текста.

Где это используется?

Base64 очень часто встречается в повседневной жизни в интернете:

1. Вставка изображений в HTML и CSS (Data URL). Вместо того чтобы загружать картинку с сервера отдельным запросом, её можно встроить прямо в код страницы в base64-виде.

Пример: src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

2. Передача вложений в электронной почте (MIME). Протокол SMTP для почты изначально был текстовым, поэтому для отправки картинок, документов и других файлов их кодируют в base64.

3. Хранение небольших данных в форматах, рассчитанных на текст. Например, в JSON или XML можно передать бинарный файл, закодировав его в base64.

4. URL и cookies. Иногда в них нужно передать двоичные данные, и base64 помогает это сделать безопасно (хотя для URL чаще используют URL-безопасный вариант — base64url).

Как это работает? Принцип кодирования

Base64 превращает каждые 3 байта (24 бита) исходных двоичных данных в 4 печатных ASCII-символа.

1. Двоичные данные разбиваются на группы по 3 байта (24 бита).

2. Эти 24 бита разбиваются на 4 группы по 6 бит.

3. Каждая группа из 6 бит (значение от 0 до 63) преобразуется в соответствующий символ с помощью специальной таблицы.

Таблица Base64 содержит 64 печатных символа:

* `A-Z` (26 символов)

* `a-z` (26 символов)

* `0-9` (10 символов)

* `+` и `/` (2 символа)

* Символ `=` используется для дополнения (padding) в конце, если исходных данных недостаточно для формирования полной группы из 3 байт.

Простой пример

Закодируем слово `Hi`:

1. Берем ASCII-коды символов: `H` -> `72`, `i` -> `105`.

2. Переводим в двоичный вид: `72` -> `01001000`, `105` -> `01101001`. Вместе это `01001000 01101001` (16 бит).

3. Нам нужно 24 бита, поэтому добавляем в конец два нулевых байта (padding): `01001000 01101001 00000000`.

4. Разбиваем на группы по 6 бит:

* `010010` -> 18

* `000110` -> 6

* `100100` -> 36

* `000000` -> padding (используется символ `=`)

5. Смотрим по таблице:

* 18 -> `S`

* 6 -> `G`

* 36 -> `k`

* padding -> `=`

6. Получаем: `Hi` -> `SGk=`

Важные особенности

* Увеличение размера: Закодированные данные занимают примерно на 33% больше места, чем оригинал, потому что каждые 3 байта превращаются в 4 символа.

* Не шифрование! Base64 — это кодирование, а не шифрование. Оно не предназначено для скрытия информации. Любой может легко раскодировать эти данные обратно. Это просто смена формата.

* Используется там, где важна надежность передачи, а не экономия трафика.

aHR0cHM6Ly92ay5jb20vY2x1YjIzMjE4NjE3Ng==

aHR0cHM6Ly92ay5jb20vY2x1YjIzMjE4NjE3Ng==

aHR0cHM6Ly92ay5jb20vY2x1YjIzMjE4NjE3Ng==