Base45 — кодировщик и декодер

Декодируйте Base45 онлайн или кодируйте UTF-8 текст по RFC 9285. Эта кодировка байтов в текст предназначена для QR-кодов, работает локально в браузере и не является шифрованием.

Входные данные
0 симв. · 0 байт
Попробовать:
Результат
✓ Кодировка байтов в текст под QR-коды ✓ Цифровые COVID-сертификаты ЕС ✓ Поддержка UTF-8 и Unicode ✓ Обработка выполняется локально в браузере
Примеры
Кодирование текста в Base45
Вход Привет!!
Выход $GQ$LQHHQBHQEHQ*LQL84

Кодирование Base45 по RFC 9285; обратите внимание, что пробел входит в алфавит.

Декодирование Base45
Вход $GQ$LQHHQBHQEHQ*LQL84
Выход Привет!!

Декодирование возвращает исходный UTF-8 текст.

Кодирование короткой строки в Base45
Вход Я
Выход 8HQ

Два UTF-8 байта буквы «Я» образуют одну трёхсимвольную группу Base45.

Декодирование ещё одного примера RFC 9285
Вход *LQEHQ%LQ*LQ7W581
Выход тест-45

Строка Base45 декодируется в текст на русском. В закодированном виде используются только символы алфавита RFC 9285.

Как работает кодирование Base45

Base45 — это кодировка двоичных данных в текст, описанная в RFC 9285. Этот онлайн-кодировщик Base45 воспринимает введённый текст как байты UTF-8, объединяет каждую пару байтов в число и записывает его тремя символами из алфавита в 45 знаков: 0–9, A–Z, пробел и $%*+-./:. Последний непарный байт представляется двумя символами.

Результат Base45 — это текст, а не зашифрованные данные. Его может декодировать любой, у кого есть декодер Base45, поэтому не используйте Base45 для защиты паролей, персональных данных или секретов.

Как декодировать Base45 онлайн

Чтобы декодировать Base45, вставьте значение целиком, выберите режим декодирования и запустите преобразование. Во вводе разрешены только символы алфавита RFC 9285, в том числе прописные латинские буквы и значимые пробелы. Base45 чувствителен к регистру: строчные буквы не заменяют прописные.

Для кодирования введите обычный текст и выберите соответствующий режим. Полученную строку можно сразу декодировать этим же инструментом и проверить обратное преобразование. Обработка выполняется локально в браузере: текст и строка Base45 не отправляются на сервер для конвертации.

Если декодирование не выполняется, убедитесь, что при копировании не были удалены или изменены символы. Длина Base45-строки не может давать остаток в один символ при делении на группы по три; кроме того, отдельная группа из допустимых символов может представлять число вне разрешённого диапазона байтов.

Зачем Base45 используют в QR-кодах

Base45 создан для эффективной работы с алфавитным режимом QR-кода. Его алфавит подходит для этого режима, поэтому QR-код хранит полезную нагрузку Base45 плотнее, чем строку Base64, записанную в алфавитном режиме QR-кода. Компромисс в том, что строка Base45 длиннее исходной последовательности байтов.

Известный пример — цифровой COVID-сертификат ЕС: его сжатая подписанная полезная нагрузка перед записью в QR-код кодируется в Base45. Base45 — лишь внешний слой этого формата. Одно декодирование не проверяет сертификат, не превращает его автоматически в понятный текст и не подтверждает действительность подписи.

Используйте Base45, когда формат или спецификация прямо требуют RFC 9285 либо когда нужно подготовить совместимую полезную нагрузку для QR-кода. Для обычной передачи данных в вебе и электронной почте чаще применяется Base64.

FAQ

Алфавит Base45 соответствует алфавитному режиму QR-кода, поэтому такие данные помещаются в QR-код эффективнее, чем Base64. Компромисс: сама строка получается длиннее, но QR-код — компактнее.

Нет. Base45 — только внешний текстовый слой QR-полезной нагрузки. Сам сертификат представляет собой структуру CBOR/COSE, которую сжимают и затем кодируют в Base45 для QR-кода.

Нет. Base45 — обратимая кодировка без ключа, пароля и секретности. Она лишь меняет текстовое представление байтов, а декодировать результат может любой.

В Base45 по RFC 9285 используются 45 символов: цифры 0–9, прописные A–Z, пробел и $ % * + - . / :. Строчные буквы, подчёркивания и другие символы недопустимы. Пробелы могут быть частью данных, поэтому не удаляйте их, если не знаете, что они добавлены только для отображения.

Строка может содержать недопустимый символ, иметь неполную длину или включать группу, которая по RFC 9285 не представляет один либо два байта. Вставьте значение полностью, в исходном регистре, и сохраните значимые пробелы.

Нет. Кодирование и декодирование выполняются локально в браузере. Введённые значения не отправляются на сервер для преобразования.
Связанные инструменты

ASCII-конвертер

Преобразуйте ASCII-символы и числовые коды для работы с протоколами и парсерами.

JWT-декодер онлайн

Декодируйте JWT в браузере и просматривайте header, payload, claims и срок действия токена.