Что такое Base64 в одном абзаце
Base64 — это способ представить двоичные данные (байты, которые не обязательно являются печатным текстом) с помощью 64 ASCII-символов, понятных любой системе: A-Z, a-z, 0-9 плюс + и /. Это не шифрование. Это не сжатие. Это перевод, который превращает двоичные данные во что-то безопасное для URL, тела письма, JSON-строки или любого другого места, где ожидается обычный текст. Декодирование делает обратный перевод.
Каждые три байта входа становятся четырьмя символами выхода, дополняемыми = для выравнивания длины. Поэтому Base64-строка всегда на 33–37% длиннее исходных данных.
Как работает кодировщик/декодировщик Microapp
Вставь любой текст в поле ввода — закодированная версия сразу появится в поле вывода. Преобразование происходит в твоём браузере; текст не попадает на наши серверы. Чтобы декодировать, переключи направление и вставь Base64-строку — вернётся исходный текст.
Инструмент корректно обрабатывает UTF-8, что важнее, чем многим кажется. Нативный JavaScript btoa() ломается на Unicode (попробуй закодировать «café» — получишь ошибку). Кодировщик Microapp сначала переводит в UTF-8 байты, потом применяет Base64, поэтому эмодзи, буквы с диакритикой и нелатинские алфавиты круг туда-обратно проходят чисто.
Hello!Шаг 1: байты —
72 101 108 108 111 33 (ASCII).Шаг 2: перегруппируем в 6-битные блоки:
010010 000110 010101 101100 011011 000110 111100 100001.Шаг 3: каждый 6-битный блок становится символом Base64:
SGVsbG8h. Готово.
Где применяется Base64
Встраивание картинок прямо в HTML или CSS через data:image/png;base64,... — картинка живёт внутри страницы, без отдельного HTTP-запроса. Удобно для крошечных иконок или одиночных документов, которые должны работать офлайн.
Заголовки авторизации. Basic-авторизация в HTTP буквально кодирует username:password в Base64 и отправляет. Само по себе это не безопасно — лишь тонкий слой обфускации по проводу — поэтому Basic-авторизацию на практике всегда сочетают с HTTPS.
Вложения email. Спецификация MIME использует Base64 для любых двоичных вложений, потому что протокол SMTP исторически работал только с 7-битным ASCII. Современный email до сих пор кодирует вложения так.
JSON-полезные нагрузки с двоичными данными. API, принимающие файлы в JSON-теле, обычно ждут их в Base64, чтобы они поместились в строковое поле.
Чем Base64 НЕ является
Это не шифрование. Любую Base64-строку можно декодировать в две строки кода или этим инструментом. Если ты «кодируешь чувствительные данные» одним Base64 — данные не защищены, они просто переодеты в другой костюм. Используй настоящее шифрование (AES, RSA), когда нужна конфиденциальность.
Это не сжатие. Base64 всегда делает данные больше, не меньше. 33% накладных расходов — это цена за то, что всё остаётся в ASCII.
Это не хеш. Хеш односторонний (по выходу нельзя восстановить вход). Base64 полностью обратим — в этом и смысл, чтобы можно было декодировать обратно.
Частые подводные камни
URL-безопасный Base64. Стандартный алфавит использует + и / — оба имеют значение внутри URL и нуждаются в процентном кодировании. URL-безопасный Base64 заменяет их на - и _ и убирает дополнение =. Если Base64-строка из JWT или OAuth-токена не декодируется, проверь, не URL-безопасный ли это вариант.
Переносы строк. Некоторые Base64-выводы (особенно MIME) добавляют перенос каждые 76 символов. Большинство декодеров их убирает, но строгий может отказаться. Декодер Microapp убирает пробелы перед декодированием.
Дополнение. Длина корректной Base64-строки всегда кратна 4. Строки на == в конце означали 1 входной байт в последней группе; = — 2 байта; без дополнения — 3 байта. Некоторые реализации дополнение опускают — большинство декодеров справляется, но строгие могут спотыкаться.
Похожие инструменты
Если нужно закодировать символы именно для URL (а не произвольные двоичные данные), посмотри URL-кодировщик/декодировщик. Для односторонних хешей подходят Генератор MD5 или Генератор SHA-256. Для кодирования HTML-спецсимволов вроде < и > в сущности — HTML-кодировщик/декодировщик.