Кодирование и декодирование Base85 (Ascii85)

Кодируйте и декодируйте текст в Base85 (классический вариант Ascii85, стиль Adobe/btoa), который применяется, в частности, в файлах PostScript и PDF.

Пример:

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

Base85 кодирует двоичные данные в печатаемый текст, как и Base64, но немного эффективнее (около 25% прироста размера против 33% у Base64), так как использует 85 возможных символов вместо 64. Этот формат применяется внутри PostScript и некоторых потоков PDF для встраивания двоичных данных в текстовое содержимое.

Чем он отличается от Base64?

Base85 группирует байты блоками по 4 (вместо 3 у Base64) и кодирует их 5 символами (вместо 4), что даёт более компактный результат. Взамен Base85 использует более широкий алфавит, включающий такие символы, как кавычки или апостроф, из-за чего его менее удобно вставлять напрямую в некоторые контексты (URL, JSON), чем Base64.

Почему некоторые блоки заменены буквой «z»?

В классическом варианте Ascii85 группа из 4 нулевых байтов (часто встречающаяся в двоичных данных с заполнением или пустыми областями) обозначается одним символом z вместо обычных 5 символов, что экономит место.

100% локальная обработка: кодирование и декодирование полностью выполняются в вашем браузере через WebAssembly.