Ascii85

Ascii85, ASCII base-85, or Base85, is a binary-to-text encoding originally implemented by Paul Rutter in the 'btoa' program. It is similar in concept to Base64 and Uuencode. A slight modification of it is used in PDF and PostScript files. It is also used in the MkTags Matroska tag editor. There are several varieties of this encoding.

Identification
In the original uuencoding-like format used by 'btoa', the encoded data is delimited by lines that begin with " " and " ". In a newer version of the format, the first line begins with " ".

In PostScript, the " " delimiter marks the beginning of an ASCII base-85 string literal. The " " EOD marker is added by the ASCII85Encode filter when it is closed, hence it should be regarded as being part of the encoded data. Outside of PostScript, there is no official delimiter to mark the beginning of ASCII base-85 encoded data. In PDF it doesn't matter, since the data (including the EOD marker) is stored in a stream object.

Software

 * ascii85.tgz
 * btoa-5.2.tar.gz
 * ASCII85-Tools, Perl command-line utilities - C version also available.
 * MPPerl::Convert::ASCII85::XS, a Perl module with time-critical code written in C
 * Ascii85 libraries are readily available for most popular programming languages.

Links

 * Wikipedia article
 * Online ASCII85 encoder
 * Online ASCII85 decoder
 * RFC 1924: A Compact Representation of IPv6 Addresses