14. A method for decoding a data structure read from a tangible computer readable medium, the data structure having a binary encoded string having a plurality of encoded substrings and an alphanumeric header having one or more run fields and a character map remainder, comprising: (a) parsing the one or more run fields in the alphanumeric header to determine a number of characters of each type of a plurality of character types represented in the binary encoded string, wherein each run field includes an encoded base type, a run length, and an indication of a run type; (b) generating a character map having a string of character type symbols representing the binary encoded string, including: (i) for each run, adding one or more character type symbols to the character map at a position in the character map determined by the type of the run, wherein the number of character type symbols added is based on the length of the run; (ii) if one or more runs has a run type of infix run, determining a reduced character map length equal to a length of the character map remainder plus a number of bits equal to the total length of the one or more infix runs, determining a center position of the reduced character map, and centering the character type symbols for a center infix run about the center of the center of the reduced character map, and (iii) merging the character map remainder into the character map generated in step (b)(i), the character map remainder being a variable-length bit pattern; (c) decoding each substring in the binary encoded string to generate a substring of characters; and (d) positioning the decoded characters in a final character string according to the generated character map.
18. The method of claim 14 , wherein step (b) further comprises: if a run has a run type of suffix run, positioning the character type symbols for the suffix run such that a last position for the character type symbols corresponds to a last position of the character map.