Implements Base31 encoding and decoding, which is useful to represent large integers in a short, case-insensitive, alphanumeric format.
The difference to Base36 is that in Base31 certain characters that are often misread (0, 1, i, I, l, L, o, 0) are not used.