base64 for all those homebrew unary computers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Reimplementation of ferno's base1 in C for UNIXoid shells.


  • Why not?
  • guaranteed to be compatible with any character set, no matter how small (theoretically)


To generate the binary, run make. Then, copy the resulting base1 binary to a directory in your $PATH.


base1 uses GNU's base64 tool as a reference and therefore has similar command line arguments. This means, you can either pipe data in or give a file as an argument.

The non-standard parameter -t will return the length of the string to be encoded, or warn if it will overflow.

'Hello World'-Example:

Can't do: even on 64 bit machines the length of the resulting string will be larger than unsigned long long int. I en- and decoded the string Hallo - it took 52 minutes!

echo -n "Hi" | ./base1 -w 0

will output 18794 As.


base1 is released under the GNU General Public License, version 3.
See LICENSE for details. © 2016 Tobias Girstmair,

In other Languages