Ascii85
Ascii85, також відома як Base85 - форма кодування двійкових даних, розроблена для утиліти btoa. Використовуючи 5 ASCII літер для представлення 4 байтів двійкових даних (що робить розмір закодованих даних на чверть більшим за оригінал, в разі використання 8-бітних ASCII символів), тому це кодування краще за uuencode і Base64, які для представлення 3х байтів використовують 4 символи (розмір збільшується на третину за тих же умов).
Нині головним чином використовується у файлових форматах PostScript компанії Adobe та Portable Document Format.
Головна ідея
Головна потреба в текстовому кодуванні двійкових даних витікає з необхідності передавати двійкові дані існуючими протоколами, які розроблялися для передачі лише зрозумілого людині тексту. Такими протоколами безпечно надсилати лише 7-бітні дані (то того ж потрібно уникати використання керуючих кодів ASCII) та інколи потрібно додавати символу закінчення рядку для обмеження довжини рядків і не містити пробілів. Тобто, "безпечно" використовувати лише 94 друковані літери ASCII.
Версія Adobe
Приклад
Наприклад, історичне гасло Вікіпедії,
- Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.
виглядає у Ascii85 кодуванні наступним чином:
<~9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4Gp$d7F!,L7@<6@)/0JDEF<G%<+EV:2F!, O<DJ+*.@<*K0@<6L(Df-\0Ec5e;DffZ(EZee.Bl.9pF"AGXBPCsi+DGm>@3BB/F*&OCAfu2/AKY i(DIb:@FD,*)+C]U=@3BN#EcYf8ATD3s@q?d$AftVqCh[NqF<G:8+EV:.+Cf>-FD5W8ARlolDIa l(DId<j@<?3r@:F%a+D58'ATD4$Bl@l3De:,-DJs`8ARoFb/0JMK@qB4^F!,R<AKZ&-DfTqBG%G >uD.RTpAKYo'+CT/5+Cei#DII?(E,9)oF*2M7/c~>
Cумісність
Ascii85 кодування сумісне з 7-бітним та 8-бітним MIME, маючи менший розмір ніж Base64.
Єдина проблема полягає в тому, що кодування Ascii85 містить символи('одинарні' та "подвійні" лапки, прямі дужки та амперсанд (&)), які мають бути екрановані в мовах розмітки наподобі XML або SGML.
Дивіться також
Посилання
- btoa і atob Джерельні тексти початкової програми 1990
- PostScript Language Reference (Adobe) — див. ASCII85Encode Filter
- Кодування та декодувння різними мовами програмування: