Конвертер Base64, Base32, Hex, двоичного и URL-кодирования

Преобразуйте текст в Base64, Base64URL, Base32, шестнадцатеричную, двоичную и десятичную запись байтов или URL-кодирование и обратно. Введите данные в любом формате — калькулятор сразу покажет все остальные представления. Поддерживаются кодировки UTF-8 и Windows-1251.

Рекламный блок «после калькулятора» (ads/after-calc.html)

Что такое 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».

Рекламный блок «внутри статьи» (ads/in-article.html)

Разновидности

  • 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. Если раскодированный текст выглядит как «РџСЂРёРІРµС‚», попробуйте другую кодировку.

Рекламный блок «внизу страницы» (ads/bottom.html)