> encode | decode | safe <
// Кодирование Base32 для читаемого и однозначного представления
Просто использовать
Простой интерфейс для мгновенного кодирования/декодирования Base32.
Локальная обработка
Все преобразования выполняются в браузере. Данные не покидают устройство.
Читаемо
Использует только A‑Z и 2‑7, без неоднозначных символов.
>> техническая информация
Как работает Base32:
Base32 использует 32 символа (A‑Z, 2‑7) для представления двоичных данных. Разработан для читаемости и исключения неоднозначностей.
Пример:
"Hello" → JBSWY3DPEBLW64TMMQ======
Зачем использовать Base32:
- >Читаемый вывод
- >Без неоднозначных символов (0,1,O,I)
- >Независим от регистра
- >Удобен для пользовательского ввода
- >Короче Base16, но длиннее Base64
>> часто задаваемые вопросы
Что такое кодирование Base32?
Base32 — это система счисления по основанию 32, использующая 32 символа (A‑Z, 2‑7) для читаемого представления двоичных данных.
Когда использовать Base32?
Когда нужна читаемая и однозначная кодировка: токены аутентификации, API‑ключи, пользовательские идентификаторы.
Почему не используются все символы?
0, 1, O и I исключены, чтобы избежать путаницы между похожими символами.
Зачем нужны знаки равенства?
Это символы выравнивания (padding), чтобы длина была кратна 8, что обеспечивает корректную декодировку.
// Краткий справочник
| Ввод | Base32 | Base64 |
|---|---|---|
| f | MY====== | Zg== |
| fo | MZXQ==== | Zm8= |
| foo | MZXW6=== | Zm9v |
| foob | MZXW6YQ= | Zm9vYg== |
| fooba | MZXW6YTB | Zm9vYmE= |
| foobar | MZXW6YTBOI====== | Zm9vYmFy |
// Примеры кода
CLI echo -n foobar | base32
Python base64.b32encode(b'foobar') / base64.b32decode(s)
Go base32.StdEncoding.EncodeToString([]byte("foobar"))
Java new Base32().encodeToString(bytes) // commons-codec
Node.js npm i hi-base32 // no built-in
>> Другие вопросы
В: Чем отличаются Base32, Base64 и Base16?
О: Все три описаны в RFC 4648 и различаются только числом бит на символ: Base16 — 4 бита (накладные расходы 100 %), Base32 — 5 бит (60 %), Base64 — 6 бит (33 %). Base32 длиннее, зато читаем и нечувствителен к регистру.
В: Чувствительно ли декодирование Base32 к регистру?
О: Нет. RFC 4648 задаёт алфавит заглавными буквами, но декодеры должны одинаково обрабатывать строчные. Этот инструмент переводит ввод в верхний регистр перед декодированием, поэтому jbswy3dp и JBSWY3DP дают одинаковый результат.
В: Где Base32 применяется на практике?
О: Прежде всего в секретах TOTP/2FA (Google Authenticator, Authy), onion-адресах Tor v3 (56 символов) и идентификаторах в системах без учёта регистра, например в некоторых файловых системах и метках DNS.