FTP'd Files are Corrupt

I routinely FTP files to clients - some are small, some are large, some are text, some are binary (zip, excel). This is from a Windows 7/64 laptop, using WS_FTP Pro and/or FileZilla. Recently, some clients have complained that the files they receive are corrupt. Sure enough, when I download them from the FTP site, they are corrupt (at least the text files and the zip files, the excel files appear to be ok). I re-checked the original files on my network and they are fine. I found a suggestion from similar questions asked here that transferring via binary (instead of automatic detection) may solve the problem, and that does appear to be the case (with limited testing so far). So now I'm wondering, why not specify binary transfer for ALL files? It apparently works fine even with text files, and if it is more reliable, why even bother with automatic detection or ascii transfer? Is there any downside to using binary transfer 100% of the time? Or, conversely, is there any advantage to using ascii transfer for text files?
Who is Participating?
Fred MarshallPrincipalCommented:
why not specify binary transfer for ALL files?
Indeed, you may.  And, these days it's recommended.

One anecdotal reason for ASCII or "text" was that it saved one bit in eight when data transfers were already slow.  So presumably it helped with transmission speed.

ASCII or text mode does or can change the file contents where carriage returns and line feeds are involved.  Binary doesn't do that.  If the operating systems are the same from end-to-end then it probably doesn't matter so much.  

The "limitation"(?) of using binary is that the receiving end has to deal with any carriage return / line feed handling if it differs from the file source.  Mostly this is done automatically now.  Old Notepad won't do it as I understand things.
Paul MacDonaldDirector, Information SystemsCommented:
ASCII transfer is faster.  This made a difference when you connected via 300 baud modem.

There's no practical reason not to use BIN mode for every transfer.
In FTP protocol, using ASCII mode instead of BINARY mode means that line termination characters are automatically translated from the server's notion to the client's notion. These days, you almost always want to use BINARY transfer mode, since ASCII mode generally results in what looks like corruption for any files that aren't conventional text.

You may occasionally encounter situations where using ASCII mode makes life simpler, but these are getting rarer and rarer. Many pieces of software used to view text have come to accept whatever line termination convention a file uses without making life difficult for the user.
bassman592Author Commented:
Thank you!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.