# Encoding Concepts

When Internet mail and news is sent thru the collection of machines that make up the Usenet, uncontrolled binary data in a file could confuse a number of network gateways For this reason, all binary files transmitted must be converted (encoded) into a subset of the ASCII language that can be safely passed thru the variety of devices on the Usenet.

The most common style of encoding is 3-to-4 encoding where three 8-bit bytes are "spread" into four 6 bit bytes (each with the two high order bits set to zero). A 6-bit byte conveniently can be mapped to a 64-character subset of ASCII.

A common encoding is UU encoding. Users used to sometimes create their own encoding tables (list of 64 characters to use). In each of these, the encoded file begins with the word 'begin' and ends with the word ' 'end'.

Base-64 is a somewhat newer 3-to-4 encoding scheme, used in the MIME standard, which has some advantages over UU and XX encoding - it does not use "begin" and " end".

yEnc is a mostly binary encoding scheme which has better efficiency since there are only a few characters it needs to encode. However it may be corrupted by some servers since it uses many more "illegal" characters. This has become the dominant format for posting binary files on Usenet since it incures the least amount of overhead making the posts faster to upload and download.