||Articles - What is yEnc
What is yEnc?
If you encountered yEnc messages on the newsgroups you may have been disappointed because Outlook Express has no yEnc decoder. This article explains how to decode yEnc in Outlook Express and why is it so popular.
yEnc is relatively new encoding method (announced in 2001) used for encoding binary files on the Usenet (also called newsgroups) into a format the Usenet server is capable of sending and receiving.
Originally, the newsgroups were not designed to handle binary data at all. First news readers could only handle textual posts. As the time passed the Usenet evolved and more and more binary posts (such as pictures, programs, music and videos) began to appear in the newsgroups. People posted them in so called binaries groups. The problem with servers that could only accept textual content has been partially solved by creating encoding methods that could convert any 8-bit binary file into a 6-bit or 7-bit text encoded file that could fit into printable range of the ASCII character set. Popular methods that do such an encoding are UUencode and Base64. They are also standardized in the RFC specifications.
When a binary file is encoded from 8-bit into 6-bit or 7-bit, for example, using UUencode or Base64 it can be posted into a newsgroup server easily as all of the characters it contains for representing the file content can now fit into the 7-bit US-ASCII character set which the Usenet servers were originally designed to work with. But there is a downside to that as well.
While 1 or 2 bits may not look that much, once an encoding method is applied over the entire file which consists of many bytes, those 2 bits multiply by number of bytes in the file and in the end the above encoding methods create overhead that increases the amount of data that is actually transferred from 25-40% depending on encoding method used. As the transfers are in 8-bit mode this makes download of the same file slower.
With time, the server software has been upgraded to handle 8-bit characters and Extended ASCII character set. This made it possible to introduce new encoding scheme called yEnc.
yEnc encoding reduces the overhead to only 1-2% by applying better optimized encoding method that uses Extended ASCII character set. There are few characters that cannot be used so yEnc scheme escapes those characters to maintain the compatibility with old standards and with most Usenet servers. The excluded special characters are the ones that could be misinterpreted by server as control signs (that might corrupt the file when it is being mirrored between the Usenet servers).
Having a better optimized encoding, yEnc creates a solution for slowly evolving standards and satisfies a demand for better transfer rates on large files as the files (if yEnc encoded) can download almost as quickly as they would if they were sent in 8-bit mode (in other words, without any encoding applied).
Further, yEnc solves the problem of invalid/corrupted files by applying CRC error detection as part of the yEnc header and also solves the problem of no-standard for the multipart posts detection.
Sounds good so far so why doesn't everybody like it?
yEnc problems and critics
Even though yEnc brings good things, it also solves some of the problems poorly. For example, it requires strings =ybegin and =yend to surround the content of the yEnc file. This could lead to problems detecting proper beginning and end of the data as these strings may also appear in the actual data which these tags should only surround. However, this problem can be avoided if using the file length property which is normally present in the yEnc header that follows the =ybegin string.
Subject line needs to be tagged with the keyword yEnc and some news readers may fail to post this, so expecting to see this keyword is unreliable. Also, yEnc never reached a formal standardization.
In spite of all the flaws, with the good news reader and good posting software you should have no problems involving any of the above issues as there are workarounds.
Does Outlook Express have yEnc decoder?
As mentioned before, yEnc was never formally standardized. Even though the files download faster and there are other benefits, yEnc does not comply with the usual standards that were originally created for the newsgroups, called the RFC. The fact is though, yEnc became popular anyway and many popular newsgroup readers simply didn't support it because it doesn't comply with the standards.
For this reason Microsoft Outlook Express as well as some of the other popular news reader programs don't support this encoding format.
How to decode yEnc in Outlook Express
You need to use yEnc decoder software such as yDecode.
yDecode is yEnc decoder for Outlook Express. It can also automatically configure Outlook Express accounts and automatically join multipart formatted posts into a single part so you don't have to use Combine&Decode option (right click on the newsgroup message to get this option). It works quietly in the background. To download yDecode and for more info visit www.ydecode.com
How to post in yEnc format and to be sure you are compliant with all of the standards
Make sure you are using the software compliant with all the standards. Even if you are, some of the software doesn't come "factory configured" with all the settings as they are used for posting using the other encoding as well.
The easy way to overcome this is to use Easy Post - a piece of software designed for posting binary files only in yEnc format. It uses all of the standards that are widely accepted on the newsgroups as good practice - which includes formatting subject lines in a specific manner, splitting the parts at appropriate points, posting only one file per post to make decoding easier and making the posts compliant to the most recent yEnc specification. It is also very easy to use. To download Easy Post and for more info visit www.ydecode.com
Do you want to use this article for free on your web site or e-zine? Click here to learn how.
Back to articles