I'll just add one small note here. No less venerable a program than ftp, as implemented on dozens of environments, makes changes to data being transferred. It does so by default and without warning, to adjust text files from one system standard to another. The obvious case here is automatic conversion of line endings between CR (as used by many early microcomputer systems,) LF (as used by most *NIX compatibles and Apple systems,) or CR/LF (as used by PCDOS and MS-DOS.)
And yes, this does sometimes cause corruption or confusion when binary data is transferred, unless the user specifies that the data is binary and to be left untouched. Gary Phillips 😉
