Какой текстовый инструмент нужен
Большинство текстовых инструментов – это один и тот же кодировщик и декодер с разными предустановками, так что выбор сводится к тому, откуда удобнее начать.
| Задача | Инструмент |
|---|---|
| Перевести текст в Base64 | Кодировщик Base64 или текст в Base64 |
| Прочитать строку Base64 | Декодер Base64 или Base64 в текст |
| Эмодзи и нелатинские алфавиты, UTF-8 байт в байт | UTF-8 в Base64, Base64 в UTF-8 |
| «Широкие» строки Windows, .NET или PowerShell | UTF-16 в Base64, Base64 в UTF-16 |
| Только простой 7-битный текст | ASCII в Base64, Base64 в ASCII |
| Проверить, корректна ли строка Base64 | Валидатор Base64 |
| Исправить переносы строк, кавычки, недостающее дополнение или смешанные алфавиты | Починка Base64 |
| Строки по 76 символов для почты | Кодировщик MIME Base64 |
| Base64, внутри которого JSON, XML, HTML или CSV | Base64 в JSON, Base64 в XML, Base64 в HTML, Base64 в CSV |
| Закодировать разметку для data URI или API | HTML в Base64, XML в Base64 |
| Заранее узнать длину результата | Калькулятор размера Base64 |
Почему важна кодировка
Base64 работает с байтами и ничего не знает о символах. Прежде чем текст закодировать, его нужно превратить в байты, а как именно, решает кодировка:
| Текст | UTF-8 | Windows-1252 | UTF-16LE |
|---|---|---|---|
é | w6k= | 6Q== | 6QA= |
Grüße | R3LDvMOfZQ== | R3L832U= | RwByAPwA3wBlAA== |
Для веба, JSON и большинства API правильный выбор по умолчанию – UTF-8. UTF-16LE ждут API Windows и параметр -EncodedCommand в PowerShell. Старые кодировки встречаются в давних базах данных, CSV-выгрузках из десктопных программ и в части писем. Если в декодированном тексте вместо é видно é, значит, UTF-8 прочитали как Windows-1252: смените кодировку в декодере, и текст станет нормальным.
Если декодированный текст выглядит неправильно
- Случайные символы и квадратики: в Base64 лежат двоичные данные (картинка, PDF или вывод gzip). Используйте Base64 в файл, а для строк вида
H4sI…– декодер gzip. - Ошибка о недопустимых символах или длине: строку повредили по дороге. Валидатор покажет где, а починка Base64 уберёт обычных виновников.
- Декодируется, но снова в Base64: данные закодировали дважды. Декодируйте результат ещё раз.
- В строке есть
-и_: это Base64URL из JWT или URL. Все декодеры здесь его понимают, а в чём разница, объясняют инструменты Base64URL.
Для токенов, URL и структурированных данных вроде SAML или Kubernetes Secrets загляните в веб-инструменты и токены. Другие кодировки, например Base32, Base58 или hex, читает конвертер систем кодирования.
Вопросы и ответы
Каким инструментом расшифровать строку Base64?
Начните с декодера Base64. Если результат нечитаемый, скорее всего, внутри файл или сжатые данные, и Base64 в файл определит тип. Если в тексте сломаны буквы с диакритикой, смените кодировку.
Почему один и тот же текст даёт разный Base64 в разных инструментах?
Base64 кодирует байты, а текст сначала превращается в байты через кодировку. é – это w6k= из UTF-8, 6Q== из Windows-1252 и 6QA= из UTF-16LE. Используйте ту же кодировку, что и другая сторона.
Нужно ли чистить строку перед декодированием?
Обычно нет. Декодеры пропускают пробелы и переводы строк, убирают кавычки и префикс data:…;base64,, принимают URL-safe символы и восстанавливают недостающее дополнение, а строка статуса сообщает, что было исправлено. Для сильно повреждённого ввода есть починка Base64.