Ascii85
From Just Solve the File Format Problem
(Difference between revisions)
(Change category to Transfer Encodings) |
(sample files) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
|subcat=Transfer Encodings | |subcat=Transfer Encodings | ||
}} | }} | ||
− | [[Ascii85]], or '''Base85''', is a binary-to-text encoding. It is similar in concept to [[Base64]] and [[Uuencoding|Uuencode]]. | + | [[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 [[Uuencoding|Uuencode]]. A slight modification of it is used in [[PDF]] and [[PostScript]] files. It is also used in the [http://sourceforge.net/projects/mktags/ MkTags Matroska tag editor]. There are several varieties of this encoding. |
== Identification == | == Identification == | ||
− | + | In the original [[uuencoding]]-like format used by 'btoa', the encoded data is delimited by lines that begin with "<code>xbtoa Begin</code>" and "<code>xbtoa End</code>". In a newer version of the format, the first line begins with "<code>xbtoa5 </code>". | |
+ | |||
+ | In PostScript, the "<code><~</code>" delimiter marks the beginning of an ASCII base-85 string literal. The "<code>~></code>" 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 == | == Software == | ||
* [http://www.stillhq.com/extracted/ascii85.tgz ascii85.tgz] | * [http://www.stillhq.com/extracted/ascii85.tgz ascii85.tgz] | ||
− | * [ftp://ftp.freebsd.org/pub/ | + | * [ftp://ftp.uk.freebsd.org/pub/OpenBSD/distfiles/btoa-5.2.tar.gz btoa-5.2.tar.gz] |
+ | * [http://sourceforge.net/projects/ascii85-tools/ ASCII85-Tools, Perl command-line utilities] - C version also available. | ||
+ | * [http://sourceforge.net/projects/mpperl-convert-ascii85-xs/ MPPerl::Convert::ASCII85::XS, a Perl module with time-critical code written in C] | ||
* Ascii85 libraries are readily available for most popular programming languages. | * Ascii85 libraries are readily available for most popular programming languages. | ||
+ | |||
+ | == Sample files == | ||
+ | * {{DexvertSamples|archive/btoaEncoded}} | ||
== Links == | == Links == | ||
Line 17: | Line 24: | ||
* [http://www.tools4noobs.com/online_tools/ascii85_encode/ Online ASCII85 encoder] | * [http://www.tools4noobs.com/online_tools/ascii85_encode/ Online ASCII85 encoder] | ||
* [http://www.tools4noobs.com/online_tools/ascii85_decode/ Online ASCII85 decoder] | * [http://www.tools4noobs.com/online_tools/ascii85_decode/ Online ASCII85 decoder] | ||
+ | * RFC 1924: A Compact Representation of IPv6 Addresses |
Latest revision as of 13:24, 30 July 2024
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.Contents |
[edit] Identification
In the original uuencoding-like format used by 'btoa', the encoded data is delimited by lines that begin with "xbtoa Begin
" and "xbtoa End
". In a newer version of the format, the first line begins with "xbtoa5
".
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.
[edit] 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.
[edit] Sample files
[edit] Links
- Wikipedia article
- Online ASCII85 encoder
- Online ASCII85 decoder
- RFC 1924: A Compact Representation of IPv6 Addresses