Base64 Кодирование/Декодирование (Текст)
Input
Output
Почему стоит использовать этот кодировщик Base64
- Мгновенное кодирование Base64 для текста, JSON и небольших бинарных данных
- Поддержка файлов (текст, изображения, бинарные файлы) для быстрого преобразования в строки Base64
- Опция URL-безопасности для JWT, параметров запроса и веб-контекстов
- Опциональное перенос строк для имитации CLI-инструментов или форматов email/PEM
- Копирование в один клик для удобного повторного использования в заголовках, конфигурациях и коде
- Адаптивный интерфейс, хорошо работающий на компьютерах и мобильных устройствах
- Кодирование происходит в вашем браузере — ваши данные не отправляются на удаленный сервер
🔧 Как работает кодирование Base64 (пошагово) for base64-encoder
Предоставьте входные данные
Вставьте ваш текст, JSON или фрагмент в область ввода, или перетащите файл для преобразования его сырых байтов в Base64. Инструмент читает байты точно как есть.
Преобразование в байты
Кодировщик преобразует символы (например, UTF-8 текст) или содержимое файла в байты. Каждый байт — это 8-битное значение от 0 до 255.
Перегруппировка битов в индексы Base64
Каждые 3 байта (3 × 8 = 24 бита) перегруппировываются в 4 группы по 6 бит (4 × 6 = 24). Каждая 6-битная группа является индексом в алфавите Base64.
Сопоставление с символами Base64 и дополнение
Каждый 6-битный индекс преобразуется в символ Base64. Если входные данные не делятся на 3 байта, добавляется дополнение '=', чтобы длина вывода всегда была кратна 4 символам.
Технические характеристики
Набор символов (RFC 4648)
Этот кодировщик использует стандартный алфавит Base64, определенный RFC 4648.
| Диапазон / Тип | Символы | Примечания |
|---|---|---|
| Индексы 0–25 | A–Z | Заглавные буквы |
| Индексы 26–51 | a–z | Строчные буквы |
| Индексы 52–61 | 0–9 | Цифры |
| Индексы 62–63 | + / | Стандартные символы Base64 |
| Выравнивание | = | Обеспечивает длину вывода кратной 4 |
Размер и накладные расходы
Base64 жертвует размером ради безопасности в текстовых каналах. Ожидайте увеличения данных примерно на треть после кодирования.
| Исходный размер | Размер Base64 (прибл.) | Накладные расходы |
|---|---|---|
| 3 байта | 4 символа | ~33% больше |
| 1 КБ | ≈ 1,37 КБ | ~37% включая выравнивание и переводы строк |
| 1 МБ | ≈ 1,37 МБ | Такое же соотношение в больших масштабах |
Производительность и практические ограничения
Само кодирование выполняется быстро, но большие буферы могут повлиять на память браузера и отзывчивость.
| Размер данных | Пользовательский опыт | Рекомендация |
|---|---|---|
| Несколько КБ | Мгновенно | Идеально для заголовков, фрагментов конфигурации и тестовых данных |
| 100 КБ – 1 МБ | Очень отзывчиво | Типично для полезной нагрузки API и фикстур |
| 1–5 МБ | Обычно нормально на современном оборудовании | Рассмотрите CLI-инструменты, если делаете это часто |
| > 5–10 МБ | Может работать медленно или потреблять много памяти в браузере | Используйте потоковые кодировщики или CLI-утилиты |
Кодирование Base64 в командной строке
Для больших файлов, автоматизации или CI-процессов используйте встроенные утилиты Base64 на вашей платформе.
Linux / 🍏 macOS
Закодировать строку
echo -n 'text' | base64Кодирует строку 'text' в Base64 без добавления символа новой строки.
Закодировать файл
base64 input.bin > output.b64Читает бинарные данные из input.bin и записывает текст Base64 в output.b64.
Windows / PowerShell
Закодировать строку в PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))Преобразует байты UTF-8 для 'text' в строку Base64.
Закодировать файл с помощью certutil (CMD)
certutil -encode input.bin output.b64Использует встроенный инструмент Windows для создания файла в кодировке Base64.
Практическое применение
Веб-разработка и Data URI
Встраивайте небольшие ресурсы напрямую в HTML, CSS или JavaScript.
- Генерация data:image/...;base64,... для логотипов, иконок и небольших изображений.
- Встраивание шрифтов или SVG-контента в CSS-правила.
- Хранение небольших данных в LocalStorage в виде строк Base64.
<img src="data:image/png;base64,iVBORw0KGgo...">document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );Разработка API и заголовки
Безопасная передача учетных данных и небольших данных через текстовые каналы.
- Создание заголовков Authorization: Basic из пар username:password.
- Кодирование JSON-данных в Base64 для пользовательских заголовков или параметров запроса.
- Обёртка бинарных данных в JSON в виде строк Base64.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });Тестирование, фикстуры и отладка
Создание стабильных текстовых фикстур для тестов и отладки.
- Кодирование бинарных фикстур (изображения, PDF) и встраивание их в тестовый код.
- Хранение примеров данных в виде строк Base64 вместо коммита бинарных файлов.
- Прототипы полезных нагрузок для сервисов, ожидающих поля в кодировке Base64.
// Пример: тест Jest с использованием фикстуры Base64
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();
❓ Frequently Asked Questions
❓Почему в Base64 используется заполнение '='?
Base64 группирует входные данные в блоки по 3 байта (24 бита) и выводит 4 символа (4 × 6 бит). Когда длина входных данных не кратна 3, добавляются символы заполнения '=', чтобы указать, что последний блок короче. Заполнение является частью формата кодирования, а не исходных данных.🔗Как сгенерировать Base64, безопасный для URL?
Base64 для URL заменяет '+' на '-' и '/' на '_', и часто удаляет завершающие символы '='. Многие библиотеки имеют режим для URL. Если нужно сделать вручную, начните со стандартного Base64, затем примените эти замены и обрежьте '=' в соответствии с вашим случаем использования.🔒Является ли кодирование Base64 мерой безопасности?
Base64 — это обратимое **кодирование**, которое позволяет безопасно передавать двоичные данные в виде текста (например, в JSON, HTML или заголовках). Само по себе оно не обеспечивает конфиденциальность или целостность. Всегда используйте HTTPS/TLS и надлежащую криптографию (например, AES или схемы с открытым ключом) для безопасности.📏Какой максимальный размер файла можно кодировать здесь?
Pro Tips
Для очень маленьких ресурсов (< 10 КБ) встраивание в виде URI данных Base64 может сократить HTTP-запросы, но избегайте этого для больших изображений или шрифтов.
В продакшене логируйте только усеченные полезные нагрузки Base64 (или хэши), чтобы избежать утечки конфиденциального содержимого в журналах.
Если ваш бэкенд ожидает Base64, проверяйте и нормализуйте входные данные на стороне сервера, чтобы отклонять некорректные или необоснованно большие полезные нагрузки.
Additional Resources
Other Tools
- Форматер CSS
- Форматер HTML
- Форматер JavaScript
- Форматер PHP
- Выбор цвета
- Экстрактор спрайтов
- Декодер Base64
- Форматер C#
- Форматер CSV
- Dockerfile Formatter
- Форматер Elm
- Форматер ENV
- Форматер Go
- Форматер GraphQL
- Форматер HCL
- Форматер INI
- Форматер JSON
- Форматер LaTeX
- Форматер Markdown
- Форматер Objective-C
- Php Formatter
- Форматер Proto
- Форматер Python
- Форматер Ruby
- Форматер Rust
- Форматер Scala
- Форматер shell-скриптов
- Форматер SQL
- Форматтер SVG
- Форматтер Swift
- Форматтер TOML
- Typescript Formatter
- Форматтер XML
- Форматтер YAML
- Форматтер Yarn
- Минификатор CSS
- Html Minifier
- Javascript Minifier
- Минификатор JSON
- Минификатор XML
- Просмотрщик HTTP-заголовков
- PDF в текст
- Тестер регулярных выражений
- Проверка позиций в SERP
- Поиск Whois