Конвертер Base64, Base32, Hex, двоичного и URL-кодирования
Преобразуйте текст в Base64, Base64URL, Base32, шестнадцатеричную, двоичную и десятичную запись байтов или URL-кодирование и обратно. Введите данные в любом формате — калькулятор сразу покажет все остальные представления. Поддерживаются кодировки UTF-8 и Windows-1251.
Что такое Base64
Base64 записывает произвольные байты с помощью 64 «безопасных» символов: латинских букв A–Z, a–z, цифр 0–9 и знаков «+» и «/». Каждые 3 байта (24 бита) делятся на 4 группы по 6 бит, и каждая группа заменяется одним символом. Если длина данных не кратна трём, в конец добавляются знаки «=». В результате объём увеличивается ровно на треть.
Base64 используют там, где можно передать только текст: во вложениях электронной почты (MIME), в data-URL картинок в HTML и CSS, в JSON и XML, в заголовке HTTP-авторизации Basic, в сертификатах формата PEM.
Пример
Слово «Man» — это байты 77, 97, 110, или 01001101 01100001 01101110. Разбиваем на шестёрки: 010011 010110 000101 101110 = 19, 22, 5, 46 → символы T, W, F, u. Получается «TWFu».
Разновидности
- Base64URL заменяет «+» и «/» на «-» и «_» и обычно не содержит «=», чтобы строку можно было вставить в адрес страницы и имя файла. Применяется в JWT-токенах.
- Base32 использует 32 символа: буквы A–Z и цифры 2–7. Строка длиннее (+60%), но не зависит от регистра и не содержит похожих символов. В Base32 записывают секретные ключи двухфакторной аутентификации (TOTP).
- Hex — каждый байт двумя шестнадцатеричными цифрами. Так показывают хеши, ключи и дампы памяти.
- URL-кодирование заменяет все символы, кроме латинских букв, цифр и знаков - _ . ~, на %XX — код байта в UTF-8.
Base64 — это не шифрование
Base64 только меняет форму записи: раскодировать его может кто угодно без всякого ключа. Не храните в Base64 пароли и секреты в надежде их скрыть — для защиты данных нужно настоящее шифрование.
Почему важна кодировка
Base64 кодирует байты, а не буквы. Русская буква в UTF-8 занимает 2 байта, а в Windows-1251 — один, поэтому один и тот же текст даёт разные строки Base64. Если раскодированный текст выглядит как «РџСЂРёРІРµС‚», попробуйте другую кодировку.
Комментарии и вопросы