These docs are under active development and cover the v0.20 Kobicha security model.
On this page
reference 1 min read

base32 and base64

base32 and base64 encode binary data as plain text — and decode it back. They are the same command with one difference: the alphabet they use.

base32 [options] [file]
base64 [options] [file]
$ echo Peios | base64
UGVpb3MK
$ echo UGVpb3MK | base64 -d
Peios

What encoding is for

Some channels only carry text safely — they mangle or reject arbitrary bytes. Encoding rewrites binary data using a small, safe set of characters, so it can pass through unharmed; decoding reverses it exactly. base64 uses 64 characters and is the more compact; base32 uses 32 and is more robust where case might not survive. With no file, both read standard input.

Encoding is not encryption — anyone can decode the result. See the overview.

Options

By default these commands encode. The options below apply identically to both.

Option Effect
-d, --decode Decode instead of encode.
-i, --ignore-garbage When decoding, skip any characters that are not part of the alphabet, rather than failing on them.
-w, --wrap=COLS When encoding, wrap the output to lines of COLS characters. The default is 76; -w 0 disables wrapping and produces one unbroken line.

When decoding, newlines in the input are always tolerated; -i is for other stray characters.

Exit status

Code Meaning
0 Success.
1 A file could not be read, or — when decoding — the input was not valid for the alphabet.