Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

uuencode(5) [opendarwin man page]

uuencode(5)							File Formats Manual						       uuencode(5)

uuencode file format DESCRIPTION
The command generates files in a format that allows them to be successfully transferred by systems which strip the high bit from an 8-bit byte. decodes uuencoded files. The uuencode file format consists of three sections: header, body, and trailer. The header is a line is of the form: begin 644 "filename.ext" where "644" is a -format permissions byte for the file and "filename.ext" is the name of the encoded file. The body section is the encoded representation of the source file. Three bytes of input file data are encoded into four bytes of output data. The 24 input bits are divided up into four pieces of six bits each. The integer value 32 (the ASCII value for the space character) is added to each of these pieces to move them outside of the range of control characters. To avoid using the space character in the encoding, pieces with value zero are encoded using backquote (ASCII value 96) instead of zero. The resulting character is one of the this set (ASCII values 96,33-95): A line itself contains three segments: a length character (encoded using the "add a space" algorithm described above), the body of the line, typically (although not required to be) 60 output characters long, representing 45 input bytes, and (of course) a linefeed. The length character specifies the number of valid input bytes on the line (so, for a line which is 60 encoded bytes, the length value would be 45). Decoding programs should decode no further than the specified length on a single line. The trailer, which must exist, consists of a single backquote ("`", ASCII 96) character on a line by itself, directly followed by on a line by itself. is the canonical filename extension for uuencoded files. BUGS
uudecode does not read all permutations of the file format described in this man page. Ancient versions of uuencode used a space character (ASCII 32) in the encoding to represent zero. Many (arguably broken) mailers and trans- port agents stripped, rewrapped, or otherwise mangled this format, so the space was later changed to the backquote, ASCII 96. Decoders may attempt to read the older format if they wish, though it's unlikely to be encountered in practice at this point in time. The uuencode encoding method is highly ASCII-centric. In particular, the character set used doesn't work well on EBCDIC-based systems. (EBCDIC, generally used by IBM mainframes, is an old alternative character encoding; most computers use ASCII instead). Many variants of uuencode on various platforms generate different forms of line checksums, using to represent the checksum one or more encoded characters after the last counted character in a line. Because these formats are different and impossible to distinguish (with certainty), such characters should be ignored by decoding implementations. The uuencode encoding format has no provisions for segmented files. Writers of segmenting utilities should be careful to avoid using char- acter sequences that may naturally occur in the encoding (such as sequences of dashes ("---")) to divide sections. SEE ALSO
The MIME Base64 encoding (documented in RFC 2045) is a consistent, cross-platform-savvy message encoding which should be used in place of UUEncode wherever possible. The Unix-Hater's Handbook (IDG, 1994) identifies the folly of the older zero-encoded-as-space versions of uuencode. Apple Computer, Inc. May, 2001 uuencode(5)

Check Out this Related Man Page

uuencode(3tcl)					       Text encoding & decoding binary data					    uuencode(3tcl)


uuencode - UU-encode/decode binary data SYNOPSIS
package require Tcl 8 package require uuencode ?1.1.4? ::uuencode::encode string ::uuencode::decode string ::uuencode::uuencode ?-name string? ?-mode octal? (-file filename | ?--? string) ::uuencode::uudecode (-file filename | ?--? string) _________________________________________________________________ DESCRIPTION
This package provides a Tcl-only implementation of the uuencode(1) and uudecode(1) commands. This encoding packs binary data into printable ASCII characters. ::uuencode::encode string returns the uuencoded data. This will encode all the data passed in even if this is longer than the uuencode maximum line length. If the number of input bytes is not a multiple of 3 then additional 0 bytes are added to pad the string. ::uuencode::decode string Decodes the given encoded data. This will return any padding characters as well and it is the callers responsibility to deal with handling the actual length of the encoded data. (see uuencode). ::uuencode::uuencode ?-name string? ?-mode octal? (-file filename | ?--? string) ::uuencode::uudecode (-file filename | ?--? string) UUDecode a file or block of data. A file may contain more than one embedded file so the result is a list where each element is a three element list of filename, mode value and data. OPTIONS
-filename name Cause the uuencode or uudecode commands to read their data from the named file rather that taking a string parameter. -name string The uuencoded data header line contains the suggested file name to be used when unpacking the data. Use this option to change this from the default of "data.dat". -mode octal The uuencoded data header line contains a suggested permissions bit pattern expressed as an octal string. To change the default of 0644 you can set this option. For instance, 0755 would be suitable for an executable. See chmod(1). EXAMPLES
% set d [uuencode::encode "Hello World!"] 2&5L;&\@5V]R;&0A % uuencode::uudecode $d Hello World! % set d [uuencode::uuencode -name hello.txt "Hello World"] begin 644 hello.txt +2&5L;&@5V]R;&0` ` end % uuencode::uudecode $d {hello.txt 644 {Hello World}} BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category base64 of the Tcllib SF Trackers []. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
encoding, uuencode CATEGORY
Text processing COPYRIGHT
Copyright (c) 2002, Pat Thoyts base64 1.1.4 uuencode(3tcl)
Man Page