Base32 кодер / декодер
Кодирование и декодирование Base32 с алфавитами RFC 4648, Crockford и z-base-32, паддингом и регистром — для текста и файлов, прямо в браузере.
Введённые данные и файлы остаются в браузере
Введите текст для кодирования или вставьте Base32 для декодирования — или перетащите файл ниже.
Перетащите файл сюда
Если выбран файл, он будет использован вместо текстового ввода.
Здесь появится результат кодирования или декодирования.
На этой странице
Кодируйте текст и файлы в Base32 и декодируйте обратно в одном из трёх алфавитов: RFC 4648, Crockford или z-base-32. Всё выполняет модуль WebAssembly, собранный из Rust, в вашем браузере — вставленные секреты никуда не отправляются.
Подробное описание функциональности
Base32 хранит 5 бит в каждом символе и использует только буквы и цифры, поэтому результат не портится при смене регистра, его легко набрать или продиктовать. Алфавит RFC 4648 (A–Z, 2–7) используется в секретах TOTP для приложений-аутентификаторов и в onion-адресах Tor. Crockford (0–9, A–Z без I, L, O и U) сделан для людей: при декодировании I и L читаются как 1, O — как 0, а дефисы пропускаются. z-base-32 — строчный алфавит, упорядоченный для удобства чтения, без паддинга.
Паддинг = до длины, кратной 8 символам, может быть обязательным, опциональным или отсутствовать. Регистр задаёт верхний или нижний регистр вывода, а Авто оставляет привычный для алфавита. Декодирование во всех алфавитах не зависит от регистра, а с опцией Разрешить пробелы/переводы строк пропускает пробелы и переносы.
Текст переводится в байты в выбранной кодировке (UTF-8, UTF-16LE, UTF-16BE, ASCII или ISO-8859-1). Файлы можно выбрать или перетащить на страницу; они читаются в Web Worker с индикатором прогресса и кнопкой Отмена. Если декодированные байты не являются текстом, инструмент сообщит об этом, а Скачать всё равно сохранит сырые байты.
Практические примеры
Три алфавита: hello кодируется в NBSWY3DP (RFC 4648), D1JPRV3F (Crockford) и pb1sa5dx (z-base-32).
Паддинг и регистр: Hi превращается в JBUQ==== при паддинге Обязательный и в JBUQ при Без паддинга; с Регистр = Нижний получится jbuq====.
Регистр не важен при декодировании: и JBSWY3DPEE======, и jbswy3dpee====== дают Hello!; строка без паддинга JBSWY3DPEE тоже декодируется, если паддинг Опциональный.
Терпимость Crockford: в алфавите Crockford и DIJPRV3F (буква I вместо 1), и d1jp-rv3f (строчные с дефисом) декодируются в hello.
Как использовать этот инструмент
Введите текст или выберите файл
Вставьте текст в поле Ввод (текст) либо перетащите файл на страницу или нажмите Выбрать файл.
Выберите алфавит и паддинг
В поле Алфавит выберите RFC 4648 (A-Z2-7), Crockford (0-9A-Z) или z-base-32. Настройте Паддинг, Регистр и Кодировка текста, если текст не в UTF-8.
Закодируйте или декодируйте
Нажмите Кодировать, чтобы получить Base32, или Декодировать, чтобы восстановить текст или байты. Используйте тот же алфавит, которым строка была закодирована.
Скопируйте или скачайте
Копировать помещает результат в буфер обмена, Скачать сохраняет его в файл; бинарный результат можно только скачать.
Советы и лучшие практики
- Base32 примерно на 60% длиннее исходных данных (8 символов на каждые 5 байт); если регистронезависимость не нужна, Base64 компактнее.
- Секреты TOTP из QR-кодов
otpauth://— это Base32 RFC 4648, часто без паддинга: выберите паддинг Опциональный.JBSWY3DPEHPK3PXPдекодируется в 10 сырых байт — сохраните их через Скачать. - Строка без паддинга вроде
JBSWY3DPEEотклоняется при паддинге Обязательный; переключите на Опциональный. - Алфавиты не взаимозаменяемы:
pb1sa5dxдаётhelloтолько в z-base-32, а как RFC 4648 это недопустимая строка. - Пробелы и переносы во вставленных ключах игнорируются, пока включено Разрешить пробелы/переводы строк.