More than 3 years later and people still don't understand FTP.
rotocol is meant to get files from a local machine to a remote one (or vice versa). As operating systems on both machines mostly differ(ed), one feature was to automatically convert line breaks in text files (Windows
uses CRLF, Unix
uses LF, Mac OS
uses CR, and others
) so neither the user on the local machine, nor the one on the remote machine have to suffer from "foreign" line breaks using their editors.
Nowadays this is almost obsolete, as most editors can deal with all kinds of line breaks. Likewise the FTP mode (ASCII versus Binary) is not that interesting anymore as a feature. If your file size on the local machine differs from the one on the remote machine, then line breaks have been converted (on Windows
text files should size the most, as their line breaks consume 2 byte, whereas on Mac OS
they should size the least, as line breaks consume only 1 byte).
However, this was intended for text
files only back then. Manipulating binary files always breaks them - as the corresponding bytes are not used for line breaks at all. But your FTP clients (speak: programs) can't essentially detect which files are binary and which not - file names
don't help either (just because it has an extension which is
it doesn't automatically mean its content is textual).
Is it really that much confusing/difficult? Just switch off a feature.