FTP 中的 ASCII 模式有什么意义?

zil*_*n01 18 ftp file-transfer

为什么在当今的软件和 FTP 实现中普遍存在的 FTP 中存在 ASCII 模式?为什么不总是使用二进制而不考虑数据?

Sin*_*nür 24

如有疑问,请阅读RFC

如果未使用 STRUcture 命令,则默认采用文件结构,但所有 FTP 实现都必须接受“文本”文件(即具有 TYPE ASCII 或 EBCDIC 的文件)的文件和记录结构。文件的结构将影响文件的传输模式(参见传输模式部分)以及文件的解释和存储。

文件的“自然”结构将取决于存储文件的主机。源代码文件通常以固定长度记录的形式存储在 IBM 大型机上,但在 DEC TOPS-20 上作为分隔为行的字符流(例如通过 <CRLF>)存储。如果在这些不同站点之间传输文件是有用的,那么一个站点必须有某种方式来识别另一个站点对文件的假设。

等等等等......简而言之,它是为了确保在使用不同编码传输到主机时,一种编码中的文本表示得到正确转换。


小智 5

因为不同的操作系统(Windows、UNIX、VAX)对简单的文本文件使用不同的行结束方法。

Windows (DOS) 使用 CR/LF 对,UNIX 仅使用其中之一。ASCII 模式会转换 CRLF 对,而 BIN 模式不会。

罗恩

  • 这不仅仅是您提到的行尾编码差异,还涉及字符本身的编码差异,例如 ASCII 和 EBCDIC 之间的差异。@Sinan 的答案是 RFC-959 中记录的细节 (4认同)