今日のソフトウェアとFTPの実装で普及しているFTPにASCIIモードがあるのはなぜですか?データに関係なく常にバイナリを使用しないのはなぜですか?
疑わしい場合は、 [〜#〜] rfc [〜#〜] を読んでください。
STRUctureコマンドが使用されていない場合、ファイル構造がデフォルトで想定されますが、「テキスト」ファイル(つまり、TYPE ASCIIまたはEBCDIC)のファイル)ではファイル構造とレコード構造の両方を受け入れる必要があります。ファイルの構造は、ファイルの転送モード(送信モードのセクションを参照)とファイルの解釈および保存の両方に影響します。
ファイルの「自然な」構造は、どのホストがファイルを保存するかによって異なります。ソースコードファイルは通常、IBMメインフレームの固定長レコードに格納されますが、DEC TOPS-20には、たとえば。によって行に分割された文字のストリームとして格納されます。このような異なるサイト間でのファイルの転送が有用である場合、一方のサイトが他方のサイトのファイルに関する仮定を認識するための何らかの方法が必要です。
などなど...要するに、別のエンコーディングを使用してホストに転送されたときに、あるエンコーディングのテキスト表現が適切に変換されるようにすることです。
異なるオペレーティングシステム(Windows、UNIX、VAX)は、単純なテキストファイルに対して異なる行末メソッドを使用するためです。
Windows(DOS)はCR/LFペアを使用し、UNIXはそのうちの1つのみを使用します。 ASCIIモードはCRLFペアを変換しますが、BINモードは変換しません。
ロン
たまに便利だからだと思います。 FTP wasあるシステムから次のシステムにファイルを取得する方法があった当時、それは大きな時間の節約になりました-あなたは読み取り可能なテキストファイルがあります。
しかし、ええ、ほとんどの場合、今日はただの迷惑です。初心者のためのただの腐敗したo-maticマシン!
ASCIIモードは、文字とEOLエンコーディングが実際の問題であった時代にその場所を持っていましたが、ftpクライアントがこのオプションを削除するか、おそらく単に非表示にすることを望んでいます。今日では、システム間で混乱するのは主にEOLの規則だけですが、ほとんどのまともなテキストエディタはもう気にしないことがわかりました。したがって、バイナリファイル(または一部のテキストベースのファイル)の破損を防ぐために、すべてにバイナリモードを使用することをお勧めします。