Кодирование и декодирование Base91

Кодируйте текст по алгоритму basE91 или декодируйте строку Base91 в исходный текст. Base91 даёт более компактный результат, чем Base64, используя 91 печатаемый символ вместо 64, а все вычисления по-прежнему выполняются в вашем браузере на 100%.

Пример:

Как это работает

В отличие от Base64, который разбивает данные на фиксированные группы по 6 бит, basE91 упаковывает байты в блоки по 13 или 14 бит и преобразует их в пары символов из алфавита в 91 печатаемый символ ASCII, что улучшает степень сжатия примерно на 3% по сравнению с Base64.

Совместим ли Base91 со всеми URL?

Нет: алфавит Base91 включает такие символы, как ", <, > или &, которые необходимо экранировать в URL или HTML. Он лучше всего подходит для хранения в текстовых файлах или передачи по протоколам, допускающим печатаемые символы ASCII без ограничений.

Почему результат короче, чем в Base64?

Потому что каждая пара символов Base91 кодирует больше бит, чем символ Base64 (около 6,5 бита на символ против 6 бит у Base64), поэтому итоговый результат для тех же исходных данных обычно получается немного короче.

Никакие данные не покидают ваше устройство: кодирование и декодирование вычисляются локально на JavaScript.