Xxencode
Encyclopedia
Xxencode is an binary-to-text encoding similar to Uuencode
Uuencode
Uuencoding is a form of binary-to-text encoding that originated in the Unix program uuencode, for encoding binary data for transmission over the uucp mail system.The name "uuencoding" is derived from "Unix-to-Unix encoding"...

 which uses only the alphanumeric characters, and the plus and minus signs. It was invented as a means to transfer files in a format which would survive character set translation, particularly that between ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 and the EBCDIC
EBCDIC
Extended Binary Coded Decimal Interchange Code is an 8-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems....

encoding used on IBM mainframes.http://www.upenn.edu/computing/printout/archive/v11/4/keys.html

The encoding process

Xxencoded data starts with a line of the form:

begin

Where is the file's read/write/execute permissions as three octal digits, and is the name to be used when recreating the binary data.

Xxencode repeatedly takes in groups of three bytes, adding trailing zeroes if there are fewer than three bytes left. These 24 bits are split into four 6-bit numbers, each of which is then translated to the th character in the following table:

1 2 3 4 5 6
0123456789012345678901234567890123456789012345678901234567890123
| | | | | | |
+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

Each group of sixty output characters (corresponding to 45 input bytes) is output as a separate line preceded by an encoded character giving the number of encoded bytes on that line. For all lines except the last, this will be the character 'h' (the character mapping to the value 45). If the input is not evenly divisible by 45, the last line will contain the remaining N output characters, preceded by the number of remaining input bytes encoded as above. Finally, a line containing just a single space (or plus character) is output, followed by one line containing the string "end".

Xxencoded data is generally distinguishable from Uuencoded data by the first character of the line ('h' for Xxencode, 'M' for Uuencode). This assumes at least one full-length line (45 encoded bytes/60 characters) in the output.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK