ETOOBUSY 🚀 minimal blogging for the impatient
Sometimes the internet requires us to deal with Base64-encoded stuff.
In computer science, Base64 is a group of binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation.
Base64 is particularly prevalent on the World Wide Web.
So… what to do about it? Usually, Linux distributions have a utility for it: base64.
Using base64 is straightforward, as it can act as a filter:
$ printf 'whatevah!' | base64 d2hhdGV2YWgh
Note that it encodes everything you give it as input, even a newline.
This can introduce infuriating bugs when encoding username and passwords
for Basic Authentication, so it’s better to use
printf without a
newline, like in the example above or the following:
$ printf '%s:%s' "$username" "$password" | base64 ...
Decoding is easy with the
$ printf 'd2hhdGV2YWgh' | base64 -d ; echo whatevah!
; echo makes sure that the prompt is printed on a newline…
because we did not include one in the encoded string, as described
Happy Base64 encoding!