FTP – 传输ascii文件在二进制文件坏事?

我们有一个本地开发服务器,我们开发的网站上。 要推动一个网站生活,它是FTPed(SSH / SFTP / Rsync不是一个不幸的select)到我们的虚拟主机。

我想运行一些脚本来比较/比较开发服务器上的网站和网站主机服务器上的网站。 这很简单,但是在FTP传输过程中,我一直使用Auto(而不是Ascii或Binary)模式。

最后,所有文件(* .php,* .html等)的大小都不同于本地开发服务器上的文件大小。 经过一番调查,我认为这是因为它在转移过程中将\n转换为\r\n 。 因此,即使内容确实相同,在比较目录时, diff也会看到不同的文件。

我发现,如果我设置FTP将所有内容作为二进制文件传输,则不存在文件大小差异。

我想知道的是,在二进制模式下甚至ASCII文件中传输所有东西是否会带来潜在的危害? 这种方法会出什么问题呢? 如果没有什么可以出错的话,那么ASCII模式有什么意义呢?

当使用ASCII模式时,接收端需要将ASCII文本转换为与其操作系统兼容的格式,例如(如您所注意的)\ n可以转换为\ r \ n等。二进制模式传输是一个字节从源到目的地的文件的字节拷贝不允许或预期翻译。

如果您的文件以二进制模式传输时正常运行/显示,那么对您而言没有任何不利之处。