Actually, ftp has 2 'modes'
1. binary, where it does exactly that ie copies bytes and doesn't mess with them
2. ASCII, where it checks (stuff that looks like) ASCII text files and should (attempts to) cvt line endings to target platform format if reqd
Often there are filetype (extensions) you can specify to be converted, at least in GUI tools.
The upshot is the ftp usually "does the right thing", but for a job like this, knowing what goes on underneath is handy.
As above, you can specify the mode if reqd.
*nix = \n
MS = \r\n
MAC = \r (MAC-OS; not sure about MAC-OSX - should be same as *nix imho ...)