RunToolz iconRunToolz
Welcome to RunToolz!
Base64КодированиеИнструменты разработчика

Что такое Base64 и почему оно постоянно встречается

Эта странная текстовая строка в твоём коде — не абракадабра. Вот что это на самом деле означает.

RunToolz Team5 января 2026 г.3 min read

Ты отлаживаешь API. Где-то в ответе ты видишь это:

SGVsbG8gV29ybGQh

Или ты смотришь на исходный код электронного письма и находишь куски текста, похожие на бессмысленный набор клавиш. Или в твоём CSS есть фоновое изображение, которое начинается с data:image/png;base64,, за которым следует стена символов.

Это Base64. Оно везде, как только начинаешь замечать.

Что такое Base64 на самом деле

Бинарные данные — изображения, файлы, всё, что не является простым текстом — плохо ладят с системами, созданными для текста. Email был создан для символов ASCII. URL-адреса имеют ограниченный набор символов. JSON не обрабатывает чистые бинарные данные.

Base64 преобразует бинарные данные в строку из 64 "безопасных" символов: A-Z, a-z, 0-9, + и /. Любой бинарный файл становится текстовой строкой, которая не сломается при передаче через текстовые системы.

Это не шифрование. Это не сжатие. Это просто кодирование — другой способ представления тех же данных.

Хотите попробовать сами?Кодировать/декодировать Base64

Где ты это увидишь

Вложения в email. Когда ты отправляешь PDF по электронной почте, он кодируется в Base64, передается как текст, а затем декодируется на другом конце.

Data URI. Синтаксис data:image/png;base64,... встраивает изображения прямо в HTML или CSS. Не нужен отдельный запрос файла.

Аутентификация API. Базовая аутентификация отправляет username:password как строку Base64. (Вот почему базовая аутентификация через HTTP небезопасна — Base64 это не шифрование.)

JWT. JSON Web Tokens — это три Base64-кодированных JSON-объекта, соединенных точками.

Бинарные данные в JSON. JSON не может включать сырые байты, поэтому бинарные данные сначала кодируются в Base64.

Кодирование vs шифрование

Люди постоянно путают эти понятия.

Кодирование Base64: Обратимо для всех. Ключ не нужен. Не безопасно. Просто переформатирование.

Шифрование: Обратимо только с правильным ключом. Действительно безопасно.

Если ты можешь декодировать что-то без пароля, это не зашифровано. Base64 "скрывает" данные только от людей, которые не знают, что такое Base64 — а таких нет среди тех, кто действительно хочет это прочитать.

Не храни пароли в Base64. Не предполагай, что данные Base64 в API приватны. Это просто текст, который выглядит странно.

Проблема размера

Base64 увеличивает размер данных примерно на 33%. Изображение в 100KB становится ~133KB при кодировании в Base64.

Это имеет значение для data URI. Встраивание большого изображения в Base64 в твой CSS делает файл больше и не может кэшироваться отдельно. Хорошо для крошечных иконок. Плохо для больших изображений.

Практическое применение

Отладка. Видишь Base64 в ответе API? Декодируй, чтобы увидеть, что внутри.

Встраивание маленьких изображений. Иконки размером менее 1-2KB часто стоит встраивать как data URI, чтобы сэкономить HTTP-запросы.

Передача бинарных данных через текстовые каналы. Нужно включить содержимое файла в JSON? Закодируй его в Base64.

Чтение JWT. Декодируй каждую секцию, чтобы увидеть заголовок, полезную нагрузку и понять, какие утверждения содержит токен.

Хотите попробовать сами?Изображение в Base64

Base64 не сложен. Это просто способ превратить любые данные в текстовую строку. Распознавай его, декодируй при необходимости и помни, что он не обеспечивает безопасности — только совместимости.