是否有任何理由以 ASCII 格式 FTP 文件而不默认使用二进制文件?

Is there any reason to FTP files in ASCII and not use binary by default?

我 FTP 很多文件的文件名都带有重音符号。

当我使用 Transmit 以 ASCII 模式传输它们时,重音符号传输不正确。

当我以二进制模式传输它们时,重音没问题。

这让我想到:使用 ASCII 进行 FTP 传输有什么好处?

有什么理由不一直使用二进制模式?

What's the benefit of using ASCII for FTP transfers?

如果您要传输非 ASCII 数据,则使用 ASCII 模式没有任何好处。 (其实是有害的。)

Is there any reason not to use binary mode all the time?

好吧,如果您发送简单的 ASCII 文本文件,尤其是在具有不同行尾序列的平台之间,那么以 ASCII 模式发送将转换行尾以适合您要将文件传输到的系统的形式。 (例如,这样文件就不会导致 Windows "Notepad" 实用程序被塞满。)

So why do (some) FTP clients assume ASCII by default?

因为 FTP 规范 (RFC 959 Section 3.1.1.1) 声明 ASCII 是传输的默认类型。

Why is it that way?

由于历史原因。根据 RFC,FTP 协议起源于 1971 年,比 Internet 还早几年。在那些日子里,用户希望通过网络传输的大多数文件 都是 ASCII。 (好吧……我猜的。)

Why don't they change it?

因为更改规范会不必要地破坏根据 FTP 规范的当前和早期版本实现的遗留应用程序和用例。)