Status: This project is feature-complete. With the exception of fixes to reported bugs, no further development will take place.
Ascii85 is a Ruby gem that provides methods for encoding/decoding Adobe's binary-to-text encoding of the same name.
See the Adobe PostScript Language Reference (archived version) page 131 and Wikipedia for more information about the format.
$ gem install Ascii85
Important
Note that the gem name is capitalized.
require 'ascii85'
Ascii85.encode("Ruby")
=> "<~;KZGo~>"
Ascii85.decode("<~;KZGo~>")
=> "Ruby"
Ascii85.extract("Foo<~;KZGo~>Bar")
=> ";KZGo"
Ascii85.decode_raw(";KZGo")
=> "Ruby"
In addition, Ascii85.encode
can take a second parameter that specifies the
length of the returned lines. The default is 80; use false
for unlimited.
Ascii85.decode
expects the input to be enclosed in <~
and ~>
— it
ignores everything outside of these, while Ascii85.decode_raw
assumes that
the entire String passed in is encoded in Ascii85. If you need to, you can use
Ascii85.extract
to find and extract the first substring of the input that is
enclosed by the <~
and ~>
delimiters.
The output of Ascii85.decode
and Ascii85.decode_raw
will be a String that
has the ASCII-8BIT
encoding, so you may have to use String#force_encoding
to
convert it to the desired encoding.
For further options, see the Documentation.
This gem includes ascii85
, a command-line utility modeled after base64
from
the GNU coreutils. It can be used to encode/decode Ascii85 directly from the
command-line:
Usage: ascii85 [OPTIONS] [FILE]
Encodes or decodes FILE or STDIN using Ascii85 and writes to STDOUT.
-w, --wrap COLUMN Wrap lines at COLUMN. Default is 80, use 0 for no wrapping
-d, --decode Decode the input
-h, --help Display this help and exit
-V, --version Output version information
Ascii85 is distributed under the MIT License. See the accompanying LICENSE file for details.