Ascii85 кодирует и декодирует
Кодируйте текст в Ascii85 (base85) и декодируйте его обратно с дополнительными разделителями Adobe.
Ascii85 кодирует и декодирует
Ascii85, также называемый base85, упаковывает двоичные данные в печатный текст более плотно, чем Base64. Он отображает каждые четыре байта на пять символов, взятых из "!" через «u», так что выпуск вырастет лишь примерно на четверть вместо трети. Именно из-за этой плотности Adobe встроила его в PostScript и PDF, где он оборачивает встроенные изображения, шрифты и потоки, и почему он появляется в двоичных патчах Git и собственных идентификаторах объектов Git.
Выберите направление и вставьте текст. Кодирование принимает входные байты UTF-8 и преобразует их группу за группой; последняя частичная группа размером от одного до трех байтов дополняется и обрезается точно так, как того требует спецификация Adobe, поэтому длина всегда повторяется. Декодирование меняет ситуацию: пробелы и разрывы строк во вставленном значении игнорируются, поэтому данные, скопированные из PDF-файла или электронного письма, по-прежнему читаются четко, а результат отображается обратно в виде текста.
Два варианта соответствуют варианту Adobe. «Разграничители Adobe» заключают вывод в маркеры <~ и ~>, ожидаемые PostScript; декодер удаляет эти маркеры, независимо от того, присутствуют они или нет, поэтому вы можете вставить заключенное в рамку или пустое значение. «Сокращать нулевые группы как z» выдает один z для любой четырехбайтовой группы, состоящей из всех нулей, что является стандартным сокращением — декодер всегда понимает z независимо от настройки.
Когда что-то не так, инструмент сообщает, что и где: символ, выходящий за пределы диапазона, получает имя с указанием его позиции, случайный z внутри группы помечается флажком, а вместо выдачи молчаливого мусора сообщается об усеченной конечной группе. Все работает в вашем браузере, поэтому ничего из того, что вы вставляете, никогда не загружается. Скопируйте результат или загрузите его в виде файла .txt.