I'd like to find a way to shorten a thirteen-digit number while retaining its ability to be hand-typed. That is, I like a way to turn something like this: 2935497213884
into this: mY==!2N
. What would be the best way of doing this in Javascript? I looked into base64 encoding, and LZW compression, but most of the algorithms I found actually made the string longer instead of shorter.
I consider as hand-typable the characters: "ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz01234567890~`!@#$%^&*()-=_+[]{}|;:'",./<>?:"