Patent ID: 6859151

Claim:
A coding transformation method, used to transform an arbitrary input bit-string data into a sequence of printable ASCII characters, the coding transformation being implemented by the computer software, characterized in: (a) storing an executable program module to be used to execute the coding transformation into the program storage of the computer system, and building the output character set R91_CH[91] in the computer memory and filling in the table of the bit denoting array φ[13]; (b) makes the input byte-string pointer pointing to a starting address of the byte-string to be coded, recording the length of the byte-string to be coded by using a variable, make the program counting pointer pointing to the entry address of a previously described executable program module in the program storage, reading the instruction and executing coding transformation; (c) the coding transformation divides the input data into blocks with the length of 13 bits, (d) for the coding transformation of blocks, the variable set or the original image set X includes all 8192 13-bit symbols and 12 filling-bit denoting symbols φ1, . . . , φ12, totally amounting to 8204 elements; (e) using 91 or 92 (considering the terminating symbol “=”) printable ASCII characters in the output representation of the coding transformation, (f) for the coding transformation of blocks, the image set Y is the sub-set of the direct product R91×R91, wherein R91 is the set of 91 printable characters, in particular R91 excluding printable ASCII characters “−” and “=”, the reversible coding mapping relationship is Base91[ x ]=( ch 1 , ch 2)=( R 91 — CH[x/ 91], R 91 — CH[x % 91]) wherein xεX, ch1, ch2εR91, symbols “/” and “%” are the operators used in the C language, representing integral division and modulo division (remainder) respectively; (g) for the input data block less than 13-bit long, adding n bits to the specified side to make it become a complete block for implementing mapping, thereafter adding a block of data φn as the input data block implementing mapping, its image is in the direct product R91×R91.