# Decoding Concepts

Large binaries files are often broken up into multi-part files when encoded and posted. These large blocks of text which make up an encoded file may be presented to WinVN by a news server out of order and with blocks of other encoded files mixed in. WinVN determines threads of blocks as they are received and decoded, caches blocks which are out of sequence and then pieces together the fragmented files. Theoretically, for example, you can select all files in an alt.binaries newsgroup article-list window, and select Decode Selected Articles from the Articles Menu; WinVN will determine which articles contain encoded material. In cases where not all blocks of an encoded file are found in the selection, WinVN will store as much of the decoded file as possible.

In non-MIME postings, there are no real standards for listing the file name, part number, and total number of parts for each encoded block. However, most encoders attempt to place this information on the subject line of each block, and/or on some informational header in the body text. WinVN attempts to determine encoded-block threads by examining the Subject line of each post, as well as non-data lines within the body text. Information found in Info Headers take precedence over subject line content.

MIME supports standard 3-to-4 encodings, and wraps articles in a very precise protocol describing content types, and multiple-part tracking information. Strictly speaking, filename and part number information are not required in the subject line for MIME attachments. But, MIME is still young and there are many news readers and posters in use that predate the MIME standard, so WinVN will use, but does not depend on MIME headers..

See Decoder and Subject Lines.

See Decoder and Info Headers.

There are cases in which the encoded blocks of a file are posted with with unrelated subjects, and without MIME or any useful information headers. WinVN won't realize (how could it?!) that the articles go together. The following example Subject headers will, assuming no recognizable info headers are contained in the articles, start two decoding threads - one for an identifier "test.exe", and one for an identifier "second":

Test.exe [1/2]

second part

In such cases, the 'Dumb Decode' option is available from Configure Decoding which deactivates the decoding threading algorithms. Dumb decode requires that the encoded blocks be in strict sequential order - it starts decoding when it sees a "begin" and stops decoding when it sees an "end". Note that this will not work with Base64 encodings (See Encoding Concepts. When WinVN is not smart enough to realize that encoded articles go together, you can make sure the articles are listed in order, select them all, and then use "Dumb Decode" to decode them.