Перейти к основному содержанию
Convert.rest

Что такое Base64 и как оно работает?

Каждый раз, когда изображение встраивается в e-mail или токен вставляется в URL, обычно задействовано Base64. Это одно из самых распространённых текстовых кодирований в вычислениях и при этом одно из самых недопонятых. Вот как именно оно работает.

Base64 — это кодирование, а не шифрование

Base64 берёт двоичные данные — любую последовательность байтов — и представляет их коротким алфавитом из 64 печатных ASCII-символов: A–Z, a–z, 0–9, плюс + и /. Поэтому оно и называется Base64: каждый выходной символ несёт 6 бит, так что 3 входных байта становятся 4 выходными символами.

Почему результат примерно на 33% длиннее

Запись 3 байтов как 4 символов по 6 бит стоит одного дополнительного символа на каждые три байта — соотношение 4:3. Файл на 100 КБ даст примерно 133 КБ строки Base64 — это цена за то, чтобы произвольные байты могли безопасно путешествовать по текстовым системам.

Для чего нужно дополнение

Когда длина входа не кратна трём, последняя группа короче, и кодировщик добавляет символы = для её завершения. Любой читатель снимает их перед декодированием, поэтому большинство строк Base64 заканчиваются нулём, одним или двумя знаками равенства.

Где встречается Base64

Вложения почты (MIME), JSON-нагрузки и JWT, data URL в HTML и CSS, значения конфигурации, которые должны пережить чисто текстовую передачу. Когда байтам нужно пройти через канал, понимающий только печатный текст, Base64 — это мост.

Ошибки, которых стоит избегать

Никогда не используйте Base64 для сокрытия данных: это открытое кодирование, которое любой может обратить декодером. Помните также, что Unicode кодируется сначала в UTF-8 байты, поэтому точная строка зависит от этого выбора. Встроенные в браузер кодировщик и декодер обрабатывают всё корректно.

Попробовать бесплатный конвертер

Все руководства