> encode | decode | ascii85 <
// Кодирование Base85 (ASCII85) для эффективного представления бинарных данных
Высокая эффективность
Эффективнее Base64 (~25% меньше при тех же данных).
Локальная обработка
Все преобразования выполняются в браузере. Данные не покидают ваше устройство.
Стандарт 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).
// Краткий справочник
| Ввод | ASCII85 | Base64 |
|---|---|---|
| Man | 9jqo^ | TWFuIA== |
| sure. | F*2M7/c | c3VyZS4= |
| Hello | 87cURDZ | SGVsbG8= |
| \0\0\0\0 | z | AAAAAA== |
// Примеры кода
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.