Problems with UUencoded Transfers
Problems with UUencoded Transfers
UUencoding is an algorithm for converting binary (8-bit) data into a sequence
of 7-bit characters. It was designed to assist in the transport of binary
files over communications mediums (like Netnews and early e-mail systems)
which could not directly transport raw binary data. UUencode was first
developed for Unix systems (and was used in the UUCP -Unix to Unix Copy-
subsystem) and was later ported to many other platforms.
UUencode works simply by picking off the binary data several bits at
a time, and using that numeric value as an offset in a list of designated
characters. Obviously, to interoperate among different systems, the list of
characters used (in the lookup table) must be consistent.
Herein lie the problems. Some early uuencode implementations allow a
space as one of the replacement characters. This introduces problems when
some e-mail (and other) transports truncate trailing spaces from message
lines.
Further, other implementations replaced the space with a "`" character,
introducing incompatibilities among some implementations.
Even more of a basic problem are that several of the characters used
in all uuencode implementations do not map well to EBCDIC characters. This
causes problems when e-mail messages with uuencoded attachments get
transformed through BITNET (EBCDIC) gateways.
For these reasons (and others) the developers of the MIME e-mail
standard developed an encoding algorithm called "BASE64" - identical
in procedure to uuencode, but using a carefully chosen set of standard
characters designed to be transportable through all known gateways.
 Native HP3000 Email Server
|