B64pack compresses short text messages using simple character encoding followed by a base64 decoding pass. It was originally written to help squeeze more than 160 characters into a single SMS message. Depending on the content, text messages up to 213 characters long can be compressed to fit into the 160-character limit.
For messages shorter than 213 characters, b64pack will
usually give you better compression than
xz. It is also faster and less
resource-hungry than any of these programs (even in
its present non-optimized form). This makes it
suitable for processing of short messages, such as
SMSs, tweets and instant messages.
The method used by b64pack is described in detail in the following paper:
Kenan Kalajdzic, Samaher Hussein Ali and Ahmed Patel. Rapid Lossless Compression of Short Text Messages. Computer Standards & Interfaces, Elsevier, January 2015.
The program itself is too simple to require any elaborate
documentation. A simple man page provided in the
directory should be sufficiently informative. To view
the man page without installing it, type:
$ nroff -man doc/b64pack.1 | less -r
Building and Installing
B64pack doesn't depend on any libraries besides libc, so you should be able to build it on any UNIX system by typing:
This will generate the executable named
b64pack in the
src directory and a gzipped version of the man page in
For installing, type as root:
# make install
You may have to adjust the installation directories for
b64pack command and the corresponding man page in
If executed without any options
b64pack reads a text
message from stdin and writes the compressed message to
If the option
-d is specified,
b64pack runs in the
decompression mode, reading a compressed message from
stdin and writing the decompressed message to stdout.
Note that the decompressed message may contain trailing
spaces, which are used for padding during compression.
Copyright © 2015 Kenan Kalajdzic.
Licensed under GPLv3+: GNU GPL version 3 or later.