UUencode vs. UUdecode vs. yEnc
Getting those binary files onto
newsgroups - (aka Unix-to-Unix encode)
First, let's start with a definition
of UUencode/UUdecode: "the conversion of
a binary file (e.g. movies, MP3, pictures, software,
etc.) to/from an ASCII
(text) file so it can be sent as an attachment via
email or posted/downloaded to/from a newsgroup.
UUencode converts non-text files (binary files)
as text so that they can be included in a mail messages
and newsgroup posts. When the message is received,
the recipient, or their newsreader application,
runs UUdecode to convert it back to its original
In essence, software (usually included
within the newsreader) is used to transform binary
files into text characters and vice-versa. You can
tell you're looking at an UUencoded post if it starts
with the line, "begin 644 somefilename.ext",
followed by a jumbled series of characters.
The problem with UUencoding is it
significantly increases the filesize (as compared
to the original) when posted to Usenet. Some say
around 35% increase, thus explaining why Usenet
traffic nowadays is approximately 500-1000GB per
A new way to encode postings -
yEnc is a new encoding method which
purportedly offers better transmission for binaries
on Usenet. Posts subjects often (but not always)
have "yEnc" spelled out, which helps readers
determine the type of binaries post.
The problem with this new encoding
method is not surprising -- many newsreaders don't
support yEnc, thus making it difficult to decode
yEnc encoded files (without an additional application).
Fortunately, the more popular newsreader applications
have added support for yEnc into their software.
a list of newsreaders that support yEnc.
To find out more about yEnc, visit
Other encoding methods
You're best bet, if you're going to
be posting binaries, is to use UUencoding. It's
been around for years, almost all newsreaders support
encoding/decoding, and is the most common form used
by folks posting to Usenet newsgroups.
Other less common encoding methods
for Usenet posts are BASE64, BinHex, Quoted Printable.
See their technical definitions below:
Base64 - encoding for binary
data consisting only of 64 encoding characters (A-Z,
a-z, 0-9, +, /) that are a subset of US-ASCII.
BinHex (BINary HEXadecimal)
- another method for converting non-text files (non-ASCII)
Quoted Printable - encoding
largely consisting of octets that correspond to
printable characters in the ASCII character set.
It encodes the data in such a way that the resulting
octets are unlikely to be modified when posted.
If the data being encoded are mostly ASCII text,
the encoded form of the data remains largely recognizable
by humans. A body which is entirely ASCII may also
be encoded in Quoted-Printable to ensure the integrity
of the data should the message pass through a character-
translating, and/or line-wrapping gateway.