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

Utf 8 是否有任何理由在默认情况下以ASCII格式FTP文件而不使用二进制文件?,utf-8,character-encoding,ftp,binary,ascii,Utf 8,Character Encoding,Ftp,Binary,Ascii,我用FTP传输了很多文件名中带有重音符号的文件 当我在ASCII模式下使用Transmit传输时,重音不能正确传输 当我以二进制模式传输它们时,重音很好 这让我想到:使用ASCII进行FTP传输有什么好处? 有什么理由不一直使用二进制模式吗? 使用ASCII进行FTP传输有什么好处 如果要传输非ASCII数据,则使用ASCII模式没有任何好处。(事实上,这是有害的。) 有什么理由不一直使用二进制模式吗 如果您要发送简单的ASCII文本文件,尤其是在具有不同行尾序列的平台之间,那么以ASCII模式

我用FTP传输了很多文件名中带有重音符号的文件

当我在ASCII模式下使用Transmit传输时,重音不能正确传输

当我以二进制模式传输它们时,重音很好

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

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

使用ASCII进行FTP传输有什么好处

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

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

如果您要发送简单的ASCII文本文件,尤其是在具有不同行尾序列的平台之间,那么以ASCII模式发送将把行尾转换为适合您传输文件的系统的格式。(例如,这样这些文件就不会导致Windows“记事本”实用程序堵塞。)

那么,为什么(某些)FTP客户端默认采用ASCII码呢

因为FTP规范()规定ASCII是传输的默认类型

为什么是这样

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

他们为什么不改变呢


因为更改规范将不必要地破坏传统应用程序和针对当前和早期版本的FTP规范实施的用例。)

将CR+LF转换为LF,或者以其他方式,我会说,现在大多数现代GUI FTP客户端默认为二进制。虽然很明显,长期存在的命令行FTP客户端必须坚持其传统默认值,因为更改它会破坏现有脚本。谢谢,我没有想到EOL方面。因为我总是在Unix(Mac)上工作并上传到Apache,所以我将一直使用二进制文件。我有一个想法,出于某种原因,二进制可能会慢三倍。