Как пользоваться
- Выберите Формат, а в поле Режим — Кодировать или Декодировать.
- Введите текст в поле Текст. Результат появляется по мере ввода.
- Прочитайте Проверка. Если там написано, что текст не подходит, исправьте названные знаки; если текст подходит, скопируйте Результат.
Пять форматов
Каждый формат записывает двоичные данные фиксированным набором печатаемых знаков. Форматы различаются числом знаков и тем, насколько закодированный текст длиннее исходного.
- Base32 (RFC 4648, раздел 6) использует буквы от A до Z и цифры от 2 до 7. Каждый знак несёт пять бит, поэтому восемь знаков содержат пять байтов, а текст дополняется знаками = до кратного восьми.
- Base32hex (RFC 4648, раздел 7) использует цифры от 0 до 9 и буквы от A до V. Он сохраняет порядок сортировки данных, чего Base32 не делает.
- Base58 использует алфавит Bitcoin, в котором нет 0, O, I и l, чтобы похожие знаки не путали. Каждый ведущий нулевой байт становится единицей, дополнения нет.
- Ascii85 записывает четыре байта пятью знаками от ! до u, то есть примерно на четверть длиннее данных. Четыре нулевых байта записываются как z.
- Z85 — вариант Ascii85, созданный для исходного кода: четыре байта становятся пятью знаками из алфавита в 85 знаков, безопасного в строках. Данные должны состоять из целого числа групп по четыре байта.
Текст и байты
Текст кодируется в свои байты UTF-8 (RFC 3629), поэтому буква вроде ğ занимает два байта, а эмодзи — четыре. Декодирование превращает байты обратно в текст. Если декодированные байты не являются корректным UTF-8, например файл или ключ, страница показывает их в шестнадцатеричной записи, чтобы ни один байт не был потерян.
Что декодирование принимает и отвергает
Раздел 3.3 RFC 4648 требует, чтобы декодер отвергал знаки вне своего алфавита. Страница делает то же самое, поэтому Base32 не принимает строчные буквы. Она игнорирует пробелы и переносы строк, потому что они появляются при копировании и вставке. Дополнение Base32 необязательно. Страница также отвергает текст Base32, у которого последний знак содержит ненулевые биты дополнения, что раздел 3.5 позволяет декодеру.
Пример: foobar в Base32
Текст foobar состоит из шести байтов. Base32 записывает его 16 знаками MZXW6YTBOI, за которыми идут шесть знаков =. Это значение, которое RFC 4648, раздел 10, приводит для BASE32(«foobar»).
Таблица ниже показывает, что страница выводит для foobar в Base32 при режиме «Кодировать».
| Результат | Для foobar |
|---|---|
| Проверка | Закодировано в Base32. |
| Результат | MZXW6YTBOI====== |
| Байты | 6 |
| Знаки | 16 |
Частые вопросы
Base32 — это шифрование?
Нет. Base32 лишь записывает те же байты другим алфавитом. Любой может декодировать его без ключа, поэтому он ничего не скрывает и не должен использоваться для защиты данных.
Почему Base58 не содержит 0, O, I и l?
Алфавит Bitcoin, который использует страница, исключает знаки, похожие друг на друга во многих шрифтах, поэтому значение, переписанное вручную, реже читается неверно. Алфавит приведён в исходном коде Bitcoin Core.
Почему мой текст Z85 отвергается?
Z85 кодирует по четыре байта за раз, поэтому данные должны состоять из целого числа групп по четыре байта. При декодировании текст должен состоять из целого числа групп по пять знаков, и каждый знак должен входить в алфавит Z85. Обычная причина — лишний или пропущенный знак.
Почему вместо текста я вижу шестнадцатеричные числа?
Декодированные байты не являются корректным текстом UTF-8. Показ их как текста потерял бы или изменил некоторые байты, поэтому страница показывает каждый байт в шестнадцатеричной записи.
Ascii85 — это то же самое, что Base85?
Ascii85 — один из вариантов base 85 со знаками от ! до u и сокращением z. Z85 — другой base 85, выведенный из Ascii85, с иным алфавитом, безопасным в исходном коде.
Отправляется ли мой текст куда-либо?
Нет. Кодирование и декодирование выполняются в вашем браузере, и ничего из введённого не отправляется на наш сервер и не сохраняется там.
Источники
- RFC 4648: The Base16, Base32, and Base64 Data Encodings (на английском)
- RFC 3629: UTF-8, формат преобразования ISO 10646 (на английском)
- Z85: ZeroMQ RFC 32, кодировка Z85 (на английском)
- Исходный код Bitcoin Core, src/base58.cpp: алфавит Base58 (на английском)
- Википедия (на английском): статья Ascii85
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..