Кодировщик/Декодировщик Base32
Кодирует текст в Base32 или декодирует строки Base32 обратно в обычный текст (с поддержкой UTF-8, RFC 4648). Автоматически обрабатывает padding и проверяет символы Base32.
Ввод
Вывод
Руководства
Base32 — это схема кодирования двоичных данных в текст, определённая в RFC 4648, которая представляет произвольные байты с помощью только 32 символов A–Z и 2–7, дополненных = до кратного 8 выходных символов. В отличие от Base64, вывод Base32 не зависит от регистра и избегает визуально неоднозначных символов (нет путаницы между 0/O или 1/I), поэтому он используется в местах, предназначенных для ввода или чтения человеком, а не только для копирования между машинами.
Для чего используется
- Секреты TOTP / 2FA — общий секрет за Google Authenticator, Authy и похожими приложениями (согласно RFC 6238) почти всегда кодируется как Base32, чтобы его можно было ввести вручную или встроить в URI QR-кода.
- DNS-безопасное кодирование — метки DNS не зависят от регистра и ограничивают допустимые символы, поэтому системы, которым нужно упаковать двоичные данные (хэши, идентификаторы) в имя хоста, часто используют Base32 вместо Base64.
- Идентификаторы, безопасные для файловых систем — ограниченный алфавит Base32 избегает символов, которые являются специальными в файловых системах с игнорированием регистра (например, старые умолчания Windows/macOS), в отличие от
+,/и смеси регистров в Base64. - Читаемые человеком токены — коды, которые человек может нуждаться прочитать вслух или транскрибировать (восстановительные ключи, лицензионные ключи, серийные номера оборудования) обычно используют Base32 по тем же причинам избегания неоднозначности.
Как использовать этот инструмент
- Вставьте текст в поле ввода.
- Выберите Кодировать, чтобы преобразовать обычный текст в Base32, или Декодировать, чтобы преобразовать строку Base32 обратно в текст.
- Результат появляется в поле вывода автоматически — нажатие кнопки не требуется. Используйте иконку копирования или загрузки, чтобы забрать его.
Кодирование принимает любой UTF-8 текст (текст кодируется в UTF-8 перед кодированием в Base32, поэтому эмодзи и нелатинские скрипты корректно обрабатываются). Декодирование ожидает допустимую строку Base32 с правильным = padding; если декодированные байты не являются допустимым UTF-8 текстом, или вход содержит символы вне A–Z, 2–7 и =, инструмент сообщает явную ошибку вместо выдачи неверного вывода.
FAQ
Почему мой вывод Base32 длиннее исходного текста? Base32 кодирует каждые 5 бит ввода в один выходной символ, поэтому он всегда увеличивает размер данных — примерно 8 выходных символов на каждые 5 входных байт (увеличение размера ~60%), плюс padding. Это нормально и точно соответствует спецификации RFC 4648.
Base32 — это то же самое, что Base64? Нет. Оба являются кодировками двоичных данных в текст, но Base64 использует 64-символьный алфавит (более компактный вывод), а Base32 использует 32-символьный алфавит (более большой вывод, но не зависит от регистра и свободен от неоднозначно выглядящих символов). Используйте Base64 для компактности; используйте Base32, когда результат нужно вводить с клавиатуры, читать вслух или встраивать в место, не зависящее от регистра, например секрет TOTP.
Base32 — это шифрование? Нет — Base32 не является шифрованием или сжатием. Это чисто формат представления; любой может мгновенно декодировать его обратно в исходные данные. Не используйте его для защиты конфиденциальной информации.
Почему декодирование иногда терпит неудачу?
Base32 требует, чтобы длина ввода (включая = padding) была кратна 8 символам, с конкретным количеством символов padding в зависимости от того, сколько символов данных им предшествуют. Если padding отсутствует, неверен, или строка содержит символы вне алфавита Base32, декодирование завершается с описательной ошибкой, а не молча выдаёт неверные байты.
Конфиденциальность
Всё кодирование и декодирование происходит полностью в вашем браузере — ваш текст никогда не покидает устройство и не отправляется на сервер.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/base32-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "foobar",
"mode": "encode"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `base32-encoder-decoder` tool (Base32 Encoder/Decoder) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.