Ascii85 is a simple gem that provides methods for encoding/decoding Adobe’s binary-to-text encoding of the same name.

See page 131 and for more information about the format.



  require 'rubygems'
  require 'ascii85'

  => "<~;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. The output of Ascii85.decode will have the ASCII-8BIT encoding, so in Ruby 1.9 you may have to use String#force_encoding to correct the encoding.

Command-line utility

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
            --version                    Output version information


Ascii85 is distributed under the MIT License. See the accompanying LICENSE file for details.