yEnc Introduction -What is yEnc
yEnc Decoder -How to view files
History of yEnc -Why encode?
One of the earliest and most widely adopted encoding methods is UUEncoding (UUE).
UUE is considered a 6-bit encoding method because it only uses 64 characters to represent the raw data. The benefit of using just 64 characters is that it includes only printable characters and none of NNTP's special characters. Other encoding methods such as Base64 use similar encoding methods.
Benefits of 6-bit encoding:
Most computer systems store and transfer data in chunks of 8-bits, known as a byte.
Pretend that you are taking two chocolate cream pies to the company potluck. Each pie is on its own pie plate, and each pie is cut into 8 slices. However, when you show up, your boss stops you at the door and tells you that there are rules. The rules state that a pie plate can only have a maximum of 6 slices.
So, you borrow a third plate, remove two slices from each plate and put them on the third plate. Well, guess what? Three plates take up more room in the refridgerator than two plates, and it requires two trips because you only have two hands.
Each plate represents a byte. Whether you're transferring (carrying) or storing the data (in the fridge), having plates that aren't completely full wastes resources. It takes longer to transfer the data and it takes up more room on the storage device.
6-bit encoding (requires 3 bytes to carry 16 bits):


yEnc is an 8-bit encoding method. yEnc says, go ahead and keep all 8 slices of pie on each plate, we'll manage, even though it's against the rules.
8-bit encoding (only requires 2 bytes to carry 16 bits):
Because yEnc still can't use the special NNTP characters, there is some spill over. For example, to carry 100 pies using yEnc, you might need 104 plates, but with UUE, if you want to carry 100 pies, you're going to need at least 133 plates.
yEnc uses the full 8-bit extended ASCII character set, which includes non-printable characters, yet yEnc simply avoids using NNTP's special characters. NNTP's special characters are escaped.
What are the benefits of yEnc over previous encoding methods?