The base32hex alphabet contains 0123456789ABCDEFGHIJKLMNOPQRSTUV
But one can confuse 0 with O, B with 8, 1 with I.
However we haven’t used WXYZ. Why not have an alphabet that omits B, I and O, and includes X, Y, Z?
Seems to me that such an alphabet would retain all the nice ASCII lexicographical ordering while at the same time be printable too.
I think B64 isn't meant to be human-readable anyway, and not having to deal with exceptions probably makes the code a LITTLE simpler?