Кодирование

Base32

Кодирование и декодирование Base32 (RFC 4648) — текст и файлы, прямо в браузере.

Base32, like Base64, encodes binary data as text, but uses an alphabet of only 32 characters (A-Z2-7) with no easily confused characters (0/O, 1/I). That's why Base32 shows up more often where a string might be typed by a person, not just copy-pasted.

How to use it

Common uses

Things to keep in mind

Base32 grows data by roughly 60% (versus ~33% for Base64) — a trade-off for broader compatibility with case-insensitive systems and manual entry.

Base32hex is a separate variant of the same standard with a different alphabet (0-9A-V) that preserves sort order — it's incompatible with plain Base32.

Статья об этом инструменте: Base32: чем отличается от Base64 и когда удобнее

Часто задаваемые вопросы

Чем Base32 отличается от Base64?

Base32 использует алфавит всего из 32 символов (A-Z и цифры 2-7) без учёта регистра, поэтому результат примерно на 60% больше исходных данных — заметно длиннее, чем у Base64. Зато такую строку удобно диктовать вслух, вписывать вручную или использовать в именах файлов, где регистр не гарантирован.

Где обычно применяют Base32?

Чаще всего в ключах для двухфакторной аутентификации (TOTP/Google Authenticator), а также в DNS-именах и других местах, где важна нечувствительность к регистру и отсутствие визуально похожих символов.

Файлы отправляются на сервер для обработки?

Нет, кодирование и декодирование Base32 полностью происходят в браузере, без передачи данных куда-либо.

Почему в алфавите Base32 нет цифр 0 и 1?

Эти цифры легко перепутать с буквами O и I/l при чтении или ручном вводе, поэтому стандарт RFC 4648 намеренно исключил их из алфавита, оставив только однозначные символы.

Чем Base32 отличается от Base32hex?

Base32hex (тот же RFC 4648) использует алфавит 0-9A-V вместо A-Z2-7 и сохраняет порядок сортировки строк таким же, как у исходных байтов. Оба варианта несовместимы между собой.

Статьи: Кодирование

Base64: зачем нужно кодирование и как оно работает

Как Base64 превращает бинарные данные в текст ASCII и где это реально нужно.

URL Encode/Decode: percent-encoding в ссылках

Как спецсимволы в адресной строке и query-параметрах превращаются в %XX-последовательности.

HTML Entities: как безопасно выводить спецсимволы на странице

Почему символы < > & нужно экранировать и как это предотвращает поломку разметки.

JWT: структура токена и что значит «декодировать» JWT

Header, payload и signature JWT-токена и почему декодирование — не то же самое, что проверка подписи.

Unicode Escape: что означают последовательности \uXXXX

Откуда в JSON и JS-строках берутся последовательности вида \u0041 и что они означают.

ROT13 и шифр Цезаря: простая замена символов

Почему сдвиг на 13 букв делает ROT13 симметричным и зачем его вообще используют сегодня.

Punycode: как домены с кириллицей работают в DNS

Как домен вроде «пример.рф» превращается в ASCII-запись с префиксом xn--.

Азбука Морзе: как текст превращается в точки и тире

Принцип кодирования букв точками и тире и где азбука Морзе применяется сейчас.

Data URI: когда встраивать изображения прямо в код

Как data:-URI встраивает содержимое файла прямо в HTML или CSS и когда это оправдано.

Gzip + Base64: сжатие данных для передачи текстом

Зачем сжатые бинарные данные ещё и кодируют в Base64 перед тем, как поместить в текстовое поле.

XML Entities: экранирование символов в XML-документах

Пять обязательных XML-entity, без которых документ ломается при парсинге.