Arithmetic Coding applied to convert scratch usernames to a single base 10 number and back. This method will perform much better on longer names than short ones in general. Very short names may get significantly longer, while longer names will not be that much longer. The actual data that the number represents is often less than that of the text even in those cases. In a practical application this could be solved by encoding extremely short names differently and using this for longer ones. This use case does not support characters that are not allowed in names, or names that are longer than 20 characters or less than 3. (same restrictions as scratch names) The average length of a username is about 11.18. This particular application contains tables of username character frequency data pulled from the usernames of everyone following griffpatch.