Онлайн кодировщик и декодировщик Base64
Нужно преобразовать читаемый текст в формат Base64 для использования в HTTP-заголовках или, наоборот, расшифровать содержимое токена API? Наш текстовый кодировщик и декодировщик Base64 — это специализированный инструмент для работы с текстовыми строками, который справляется даже с такими сложностями, как диакритические знаки или специальные символы.
Работаете с изображениями?
Если ваш код начинается сdata:image/png...или вы хотите преобразовать файл в текст, этот инструмент покажет вам только бессмысленные символы. Используйте наш специализированный инструмент для преобразования в изображение.
Как работает формат Base64?
Многие люди используют Base64 ежедневно, но мало кто знает, как он работает “под капотом”. Это не магия, а простая математика с битами.
Обычный текст в компьютере хранится по 8 бит (1 байт). Однако Base64 использует “алфавит” из 64 символов (A-Z, a-z, 0-9, +, /). Поскольку 2^6 = 64, один символ Base64 представляет ровно 6 бит информации.
Процесс преобразования (Алгоритм):
- Берутся три символа вашего текста (3 × 8 бит = 24 бита).
- Эти 24 бита делятся на четыре группы по 6 бит.
- Каждой группе присваивается символ из таблицы Base64.
Следствие: Поскольку мы преобразуем 3 символа в 4 символа, результирующая строка Base64 всегда примерно на 33 % длиннее исходного текста.
Проблема кодировки: Почему обычные конвертеры Base64 искажают кириллицу?
Если вы когда-либо пробовали закодировать слово “Привет” в консоли браузера с помощью функции btoa('Привет'), вы, вероятно, получали ошибку: String contains characters outside of the Latin1 range.
Base64 изначально был разработан для 7-битных символов ASCII. Однако кириллица, эмодзи и другие специальные символы (UTF-8) занимают в памяти больше байтов (многобайтовые символы).
- Буква
a= 1 байт. - Буква
я= 2 байта. - Эмодзи 🚀 = 4 байта.
Наш инструмент решает эту проблему. Перед самим кодированием в Base64 мы корректно преобразуем текст в последовательность байтов UTF-8. Благодаря этому вы можете безопасно кодировать объекты JSON, русские тексты и современные символы без риска повреждения данных.
Где используется текстовое кодирование Base64?
В то время как изображения в Base64 служат в основном для встраивания в CSS/HTML, текстовый Base64 имеет совершенно иное применение в бэкенд-системах:
1. Базовая аутентификация HTTP
Когда вы входите в API, заголовок часто выглядит так:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
За этим кодом скрывается просто объединенное имя пользователя и пароль в формате пользователь:пароль. Наш инструмент позволит вам легко генерировать или проверять эти заголовки.
2. JSON Web Tokens (JWT)
Современные веб-приложения используют для входа так называемый JWT. Такой токен выглядит как три длинные строки, разделенные точкой. Часть с данными (Payload) — это обычный объект JSON, закодированный в Base64.
- Совет: Попробуйте вставить сюда среднюю часть вашего токена JWT и декодировать ее. Вы увидите, какие данные о вас хранит приложение (например, ID пользователя, срок действия).
3. Файлы конфигурации (Kubernetes Secrets)
Платформы, такие как Kubernetes, хранят секретные данные (Secrets) в конфигурационных файлах YAML именно в Base64. Это не шифрование, а способ сохранить в текстовом файле бинарные данные или текст с проблемными символами (новые строки, кавычки).
Что такое “URL Safe Base64 encoding” и почему это важно?
Стандартный алфавит Base64 содержит символы + (плюс) и / (косая черта). Оба этих символа имеют особое значение в URL-адресах:
/разделяет каталоги.+часто интерпретируется как пробел.
Если бы вы отправили стандартный Base64 в параметре URL (например, site.com?token=ab/cd+ef), сервер мог бы неправильно прочитать данные.
Решение (режим URL Safe): Наш переключатель активирует вариант Base64URL (согласно RFC 4648), который выполняет следующие изменения:
+заменяется на-(дефис)./заменяется на_(подчеркивание).- В конце удаляются символы
=(дополнение/выравнивание), которые в URL не нужны.
Миф: Base64 не является шифрованием!
Важно понимать принципиальную разницу, которую часто путают новички:
- Кодирование (Encoding - Base64): Служит для передачи данных. Это как упаковать вещь в чемодан, чтобы она не разбилась в дороге. Любой, кто найдет чемодан, может открыть его (декодировать) и увидеть содержимое. Это небезопасно для секретных данных.
- Шифрование (Encryption - AES, RSA): Запирает данные ключом. Без ключа к содержимому не получить доступ.
- Хеширование (Hashing - SHA, MD5): Односторонний процесс (например, для хранения паролей). Из результата невозможно получить исходный текст.
Если вам нужно отправить пароль или конфиденциальные данные, одного Base64 недостаточно. Вы должны использовать HTTPS (SSL/TLS), который зашифрует передачу.