1. A method for encoding alphanumeric data onto a tangible computer readable medium comprising: (a) receiving an alphanumeric character string having a plurality of characters; (b) generating a character map having a string of character type symbols, wherein generating the character map includes: for each of the plurality of characters in the alphanumeric character string, assigning a character type value to a symbol in the string of character type symbols; (c) generating a character map remainder, wherein the character map remainder is a variable-length bit pattern and generating the character map remainder includes: (i) identifying one or more runs of character type symbols in sequential positions in the character map having the same character type value, and (ii) removing the one or more identified runs of character type symbols from the character map; (d) for each identified run, generating a run field, wherein generating the run field includes encoding base data and run length data; (e) encoding the characters of each character type into binary encoded substrings, wherein encoding includes: (i) assembling characters into separate substrings by character type, and (ii) encoding each character type substring into binary; (f) generating an encoded data string including one or more run fields, the character map remainder, and the binary encoded substrings; and (g) writing the encoded data string to the tangible computer readable medium.