> encode | decode | ascii85 <

// Кодирование Base85 (ASCII85) для эффективного представления бинарных данных

[EFFICIENT]

Высокая эффективность

Эффективнее Base64 (~25% меньше при тех же данных).

[SECURE]

Локальная обработка

Все преобразования выполняются в браузере. Данные не покидают ваше устройство.

[STANDARD]

Стандарт Adobe

Использует ASCII85 с разделителями <~ ~>, совместимо с PostScript.

>> техническая информация

Как работает Base85:

Base85 использует 85 печатаемых символов ASCII для кодирования бинарных данных. 4 байта кодируются 5 символами, что эффективнее Base64.

Пример:

"Hello" → <~87cURD]i~>

Зачем использовать Base85:

  • >Эффективнее Base64 (~25% меньше)
  • >Стандарт в PostScript/PDF
  • >Хорошая степень сжатия
  • >Только печатаемые символы ASCII
  • >Сокращение 'z' для четырёх нулевых байтов

>> часто задаваемые вопросы

Что такое кодирование Base85?

Base85 (ASCII85) — схема кодирования бинарных данных в текст при помощи 85 печатаемых ASCII‑символов, эффективнее Base64.

Почему Base85 эффективнее Base64?

Base85: 4 байта→5 символов (80%) против Base64: 3→4 (75%); примерно на 25% компактнее.

Что означают разделители <~ ~>?

Это часть стандарта Adobe ASCII85, отмечающая начало и конец кодированных данных.

Что означает символ 'z'?

Это сокращение, представляющее четыре последовательных нулевых байта (\x00\x00\x00\x00).

// Краткий справочник

ВводASCII85Base64
Man 9jqo^TWFuIA==
sure.F*2M7/cc3VyZS4=
Hello87cURDZSGVsbG8=
\0\0\0\0zAAAAAA==

// Примеры кода

Adobe     <~87cURDZ~>            (PostScript / PDF, z = four zero bytes)
Python    base64.a85encode(b'Hello')  ->  b'87cURDZ'
          base64.b85encode(b'Hello')  ->  b'NM&qnZv'   (RFC 1924 / Git alphabet)
Z85       ZeroMQ, safe to embed in source strings
Size      4 bytes -> 5 chars  (Base64: 4 bytes -> 5.33 chars)

>> Другие вопросы

В: Чем отличаются ASCII85, Base85 и Z85?

О: У всех одна математика (4 байта → 5 символов), но разные алфавиты: ASCII85 (Adobe, PDF/PostScript) использует символы от ! до u, обрамление <~ … ~> и z для четырёх нулевых байтов; Base85 (RFC 1924, Git) — другой алфавит; Z85 (ZeroMQ) — алфавит, безопасный для встраивания в исходный код.

В: Какого размера Base85 по сравнению с Base64?

О: 4 байта дают ровно 5 символов против примерно 5,33 у Base64. Накладные расходы снижаются с 33 % до 25 %, то есть для тех же данных символов примерно на 25 % меньше.

В: Безопасен ли Base85 для URL?

О: Нет. В ASCII85 есть символы & , ; ' " < >, которые нужно экранировать в URL, HTML и оболочке. Для URL используйте Base64url, для исходного кода лучше Z85.