xxdecode [ file ]
xxencode takes the named source file (default standard input) and produces an encoded version on the standard output. The encoding uses only printing ASCII characters, and includes the mode of the file and the remotename for recreation on the remote system.
xxdecode reads an encoded file, which might have been produced by either uuencode or xxencode, strips off any leading and trailing lines added by mailers, and recreates the original file with the specified mode and name.
With the -u option, xxencode uses uuencoding (and uudecode can decode the output); with the -x option, or no options at all, it uses xxencoding.
Uuencoding uses a 64-character set that includes ASCII characters 32 through 95, or 33 through 96; some of these are subject to mail gateway corruption. Xxencoding uses a 64-character set consisting only of letters, digits, plus, and minus, which can generally pass through mail gateways intact.
xxencode outputs a byte count and a CRC-16 checksum following the encoded file. These are ignored by uudecode but checked by xxdecode. The checksum and byte count validations are important, because uudecode usually cannot detect corruption, while xxdecode can.
The encoded file has an ordinary text form and can be edited by any text editor to change the mode or remote name.
Each xxencoded line has a unique prefix, and xxdecode will process only lines with that prefix. This makes it possible to easily reconstruct a mailing of a split(1) xxencoded file just by appending the pieces in the correct order; mail headers and trailers need not be stripped.
Regrettably, uuencode and uudecode provide no convenient way to do this; mail headers and trailers must be manually stripped from the concatenated parts before running uudecode.
Mark Horton
UC Berkeley
New xx{de,en}code programs:
Nelson H. F. Beebe
Center for Scientific Computing
Department of Mathematics
220 South Physics Building
University of Utah
Salt Lake City, UT 84112
Tel: (801) 581-5254
The user on the remote system who is invoking xxdecode must have write permission on the specified file.