|Annotated :: Single Page/Plain :: Text :: Notes|
4. Where are the files? I'm seeing garbage text...
Binary File Encoding [Akito, NetGear, ed.]
Because Usenet was originally developed for communication of text messages, it is not possible to post binary data in its natural form. To overcome this limitation, several binary encoding methods have been devised to allow posting of binary materials to the Usenet. Below are explanations of several of the most popular encoding methods.
On an older, less featured newsreader, you may see something like this:
begin 644 filename.r10 M4F%R(1H\'`*6\.TD`#0````````"AZG2#@#4`V.%-`/8=?04"VD4%`%(.5R@4 M-14`(````$QO9%]S.R!787(@;V%V(#`Q+F%S9EDF==)\'"DO$1\'Y+\A.\3X) M5_AR06`T8P.$*?D_Z-.^5]TBHM0Y3I[/*P..M$R1J)2\%RVYKAU?;A7ULJ%I_
This is known as a uuencoded format. The "begin 644 filename" line and the fact that every single line starts with "M" is a good way to recognize uuencode.
Any half decent newsreaders will automatically decode the file into binary formats so you would never actually see the code. So if you are having problems with the codes your best bet is probably get a new newsreader. Most news readers understand this kind of encoding and have the ability to decode the message back to its original form. See section 6 on good newsreaders for decoding.
A more verbose explanation of uuencode
Here's what this means. "begin 644 filename.r10": save this uuencoded text as filename.r10 with permissions 644 (that number is a Unix code that means let everyone read the file, and let the owner modify it).
You may also occasionally see messages encoded using some other system such as Base64. The principle is the same. Usenet was designed to transmit messages containing only printable letter, digits and symbols. Binary files like anime episodes containa wider range of data, so that data has to be transformed into text before posting it to Usenet.
Uuencode, aka uuencode/uudecode, is one of the popular forms of binary file distribution along the realms of passive file distribution. (Meaning it's not done in real-time, files are sent but received later, not instantly). Email and newsgroup messages are of such type.
Originating on UNIX systems (thus the UU means Unix-to-Unix), it is used by users who wish to send binary data to others who are using software that's not capable of processing binary code. Something like this would be a unix-based email client like PINE.
Basically how uuencode works is that it takes whatever binary attachment you are sending- it may be a WinRAR archive, an .rm or some executable- and translates (encodes) that file into a HUGE string of text garbage that only someone with the decoder can convert back to the original form. This way, it simplifies the transmission as no special protocol and/or software is needed. (Nearly all computers can do text transfer without problems. I say nearly because there is always some exceptions to the rule in the world of computers - just look at Windows).
In summary, uuencode is simply a utility, if you wish, that translates binary code into encrypted text to be sent: 1) Over a medium that cannot process binary transfers. 2) To a individual using software not capable of receiving binary attachments.
Now for MIME... (this is the uglier one as it involves Windows and Mac OS...)
Raw codes of MIME looks something like this:If your mail reader is text-only
This is a multi-part message in MIME format. ------=_NextPart_000_004B_01BF8C4A.98F7ABE0 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: 7bit
-OR- if your mail can read MIME encoded mails but can't handle the file type
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000C_01BF8499.08997280" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Again, current newsreaders will decode MIME automatically like uuencoded files.
MIME, aka Multi-purpose Internet Mail Extension, is an extension of the original E-mail protocol (an agreement between computers that data of such type [email] will be transferred using this set of specifics) to exchange different types of data. (Such as webpages, audio, video, and of course, text files)
How it works is that servers sending the transmission will insert MIME headers into the body where it instructs the client on HOW to handle the binary data that's to follow. Say it may be a webpage, then the client knows to launch the web browser to handle the attachment. (Or RealPlayer for those anime .rms ^_^ )
Currently only so many MIME types are registered on the Internet Assigned Number Authority (http://www.isi.edu/in-notes/iana/assignments/media-types/), as new file formats are surfacing as the days go by, the Internet MIME databases will be updated accordingly and YOU as the user, will need to download the appropriate software and update your computer so they can handle such files. Fortunately most installation programs take care of this for you on most platforms. (Called file associations - ie: files with .RM extension will be handle by RealPlayer, .HTM - web browser, MP3 - Winamp...etc)
In summary, MIME is a string of instructions inserted at the beginning of any web transmission that instructs the client receiving this how to deal with the binary attachments that's to come. By equipping themselves with the associated software, (which is usually widely available on the Internet) users will not have to hunt down software every time they receive a binary attachment.
Now, I've stripped down the definitions to avoid the complicated techno jargon, there is MUCHO to know about MIME but that I think is beyond the scope of this FAQ. There are numerous documents out there floating on the web on MIME and can be easily found using a search engine like www.google.com
The main difference between MIME and uuencode is that MIME is more user-friendly to newbies as it takes the guesswork out of the user on what software is used to deal with this piece of binary code. But uuencode is computer-friendly as it does not require fancy software to be able to receive such type of information.
Uuencode is the most preferred transmission type because most newsgroup servers will not handle binary transmissions therefore MIME is not recommended here at ABMA Make sure you are using a reader that is capable of uuencode or else you might have some complaints (or nasty comments from our "respected" SWong) coming your way =)
yEnc [xo, Keikai]
This section is currently in its preliminary stages, more information will be added in the next revision. A good deal of additional information is currently available in the notes for this section in the annotated FAQ: http://abma.x-maru.org/faq/annotated/encoding.php
yenc is an alternative to uuencoding for encoding of files posted to Usenet. A new decoder is required in order to process these files. Some news clients include native decoding of yEnc encoded files, however, many do not and will require some additional work and the use of an external decoder.
Details and the status of client support can be found at http://yenc.org.
Zen's web page hosts his excellent yEnc FAQ. This FAQ can be found at http://www.geocities.com/zenwebpage/yEncFAQ.htm and includes:
It is also important that posters indicate in the subject when posting any binaries encoded in yEnc format. More specifically, make sure the word "yEnc" appears somewhere in the subject, preferably in the description.
Occasionally, files are posted
with the extension .NTX. These are actually files that are yEnc'd prior to posting
(usually via uuencode, thereby neutralizing any benefit of the yEnc format).
They can be decoded using a standalone yEnc decoder such as yEnc32 or ydec.
Linux-specific information [xo, ed.]On the Mac platform, the most popular newsreaders descend from the original Newswatcher and do not include uuencoding within the newsreader. Instead, a helper application is needed. YA-Decoder is a good utility for this and is available from http://www.newsreaders.com/link/jump.cgi?version=Sys71_yad. It has problems with some long file names, but less so than many other uudecoders available.
User Contributed Notes