Ascii85gem
A simple gem that provides methods for encoding/decoding Adobe’s binary-to-text encoding of the same name.
Install / Use
/learn @DataWraith/Ascii85gemREADME
Status: This project is feature-complete. With the exception of fixes to reported bugs, no further development will take place.
Ascii85
Description
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.
Installation
$ gem install Ascii85
[!IMPORTANT] Note that the gem name is capitalized.
Usage
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.
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
-V, --version Output version information
License
Ascii85 is distributed under the MIT License. See the accompanying LICENSE file for details.
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
