# generate character table(s)
# (~16x faster than decoding in loop;
# substr strings is twice as fast as splitting to an array)
# generate character table(s)
# (~16x faster than decoding in loop;
# substr strings is twice as fast as splitting to an array)