FTPにASCIIモードがあるのはなぜですか。これは、今日のソフトウェアとFTPの実装で一般的です。データに関係なく常にバイナリを使用しないのはなぜですか?
FTPにASCIIモードがあるのはなぜですか。これは、今日のソフトウェアとFTPの実装で一般的です。データに関係なく常にバイナリを使用しないのはなぜですか?
回答:
疑問がある場合は、RFCを読んでください。
STRUctureコマンドが使用されていない場合、ファイル構造がデフォルトと見なされますが、すべてのFTP実装で「テキスト」ファイル(つまり、TYPE ASCIIまたはEBCDICのファイル)のファイル構造とレコード構造の両方を受け入れる必要があります。ファイルの構造は、ファイルの転送モード(転送モードのセクションを参照)とファイルの解釈と保存の両方に影響します。
ファイルの「自然な」構造は、ファイルを保存するホストによって異なります。通常、ソースコードファイルは固定長レコードでIBM Mainframeに保存されますが、DEC TOPS-20では、たとえば、によって行に分割された文字のストリームとして保存されます。このような異種サイト間でのファイルの転送が有用である場合、1つのサイトがファイルに関する他のサイトの仮定を認識する何らかの方法が必要です。
等...要するに、あるエンコーディングのテキスト表現が、異なるエンコーディングを使用してホストに転送されたときに適切に変換されたことを確認することです。
異なるオペレーティングシステム(Windows、UNIX、VAX)は、単純なテキストファイルに対して異なる行末方法を使用するためです。
Windows(DOS)はCR / LFペアを使用しますが、UNIXはそのうちの1つのみを使用します。ASCIIモードはCRLFペアを変換し、BINモードは変換しません。
ロン
ASCIIモードが使用されているため、アップロード/ダウンロードするかどうかに応じて、ソフトウェアがEOL文字をクライアント/サーバーの適切な値に自動的に変更できます。使用しているのと同じタイプのシステムにアップロードする場合、これらのモードに違いはありません。
しかし、このモードの理由は、すべてのシステム上のすべてのソフトウェアが正確な適切なタイプのEOLではないEOLを正しく処理するとは限らないためです(たとえば、多くのWindowsソフトウェアは「\ r \ n」 「\ n」で恐ろしい)。