Ascii85

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
 
(12 intermediate revisions by one user 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]]. It is often used in [[PDF]] and [[PostScript]] files, and rarely anywhere else. There are several varieties of it.
+
[[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 PostScript, the "<code>&lt;~</code>" token marks the beginning of an ASCII base-85 string literal, hence it is not part of the encoded data. The "<code>~&gt;</code>" EOD marker, on the other hand, should be regarded as part of the encoded data, since it is added by the ASCII85Encode filter when it is closed.
+
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&nbsp;</code>".
  
There is also a [[uuencoding]]-like format, delimited by lines that begin with "<code>xbtoa Begin</code>" and "<code>xbtoa End</code>".
+
In PostScript, the "<code>&lt;~</code>" delimiter marks the beginning of an ASCII base-85 string literal. The "<code>~&gt;</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/FreeBSD/ports/distfiles/btoa-5.2.tar.gz btoa-5.2.tar.gz]
+
* [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.
  

Latest revision as of 19:07, 20 November 2015

File Format
Name Ascii85
Ontology
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.

[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

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox