basE91 is an advanced method for encoding binary data as ASCII characters. It is similar to UUencode or base64, but is more efficient. The overhead produced by basE91 depends on the input data. It amounts at most to 23% (versus 33% for base64) and can range down to 14%, which typically occurs on 0-byte blocks. This makes basE91 very useful for transferring larger files over binary insecure connections like e-mail or terminal lines.
| Tags | Terminals Internet Communications Email |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | OS Independent POSIX Linux Windows MS-DOS Windows Mac OS X |
| Implementation | Awk Java C PHP Assembly |
Recent releases


Changes: The encoding/decoding routines have been restructured to be thread-safe, and the syntax of the commandline frontend is more similar to base64 from the GNU coreutils now.


Changes: The source code has been cleaned to avoid errors and warnings with the latest gcc versions, and the DOS assembly encoder has been rewritten to be faster and compatible down to Intel 8086.


Changes: This version fixes Java-b91enc to handle file extensions case insensitively, and introduces a native DOS assembly implementation of the basE91 encoder.


Changes: This version breaks backward compatibility because the basE91 alphabet was changed to reduce the occurrence of double quotes when encoding random data (e.g. compressed files). If the ASCII output needs to be enclosed in double quotes (e.g. in C or Java programs), this minimizes the need for escape characters. Before upgrading, users should decode all their basE91 encoded files.


Changes: The AWK basE91 decoder no longer depends on GNU extensions.