UTILS.
100% у браузері
🔠

Кодування та декодування Ascii85 / Base85

Кодуйте байти в Ascii85/Base85 і декодуйте їх назад, з підтримкою стандартного та Adobe (<~ ~>) варіантів, повністю у вашому браузері.

— результат з’явиться тут —

Про цей інструмент

Інструмент Ascii85 / Base85 перетворює двійкові дані в Ascii85 (також званий Base85) і назад — текстове кодування, яке пакує чотири байти у п'ять друкованих символів, приблизно на 25% компактніше за Base64. Воно використовується всередині потоків PostScript і PDF (варіант Adobe) та у форматах patch/diff. Усе працює локально у вашому браузері через TextEncoder/TextDecoder; ніщо, що ви вставляєте, не завантажується.

Кодування обробляє вхідні дані як 4-байтові групи у форматі big-endian, читає кожну групу як 32-бітне беззнакове ціле й видає п'ять цифр, багаторазово беручи значення за модулем 85 і додаючи 33, тож кожна цифра потрапляє в друкований діапазон від '!' (33) до 'u' (117). Група з усіх нулів згортається до єдиного символу 'z'. Остання неповна група з n байтів (1–3) доповнюється нулями до чотирьох, кодується, а останні 4−n вихідних символів відкидаються, даючи n+1 символів. Варіант Adobe обгортає результат у '<~' та '~>'.

Декодування обертає процес: пробіли та будь-яка обгортка видаляються, 'z' розгортається до чотирьох нульових байтів, п'ятисимвольні групи читаються як value = Σ (cᵢ−33)·85^(4−i) і записуються як чотири байти big-endian, а завершальна неповна група з m символів (2–5) доповнюється 'u' (значення 84) і зберігає m−1 байтів. Виберіть напрямок, стандартний варіант чи Adobe, і чи є ваші вхідні байти текстом UTF-8 або hex.

Поширені запитання

Що таке скорочення 'z'?
Група з чотирьох нульових байтів (0x00000000) кодувалася б як '!!!!!'. Натомість Ascii85 видає для неї єдиний символ 'z' як скорочення для стиснення. Під час декодування 'z' розгортається назад до чотирьох нульових байтів — але лише коли він стоїть на межі групи, ніколи всередині п'ятисимвольної групи.
Чим Ascii85 відрізняється від Base64?
Base64 кодує 3 байти як 4 символи (33% накладних витрат); Ascii85 кодує 4 байти як 5 символів (25% накладних витрат), тож він компактніший. Base64 використовує алфавіт із 64 символів, тоді як Ascii85 використовує 85 друкованих символів ASCII від '!' до 'u'.
Що таке варіант Adobe?
Ascii85 від Adobe, що використовується в PostScript і PDF, обгортає корисне навантаження між роздільниками '<~' та '~>'. Основний алгоритм ідентичний. Вибір варіанту Adobe додає ці маркери під час кодування і видаляє їх під час декодування; стандартний варіант їх опускає.
Чи завантажуються мої дані кудись?
Ні. Кодування та декодування відбуваються повністю у вашому браузері за допомогою звичайного JavaScript і TextEncoder/TextDecoder. Нічого не надсилається на сервер, тож ви можете безпечно обробляти приватні або двійкові дані.

Більше інструментів