FTPのBinaryモードとASCIIモード

FTPでファイルをダウンロード、アップロードする際、BinaryモードかASCIIモードか選択することが可能です。
その違いは:

【バイナリモード】
FTPにおけるバイナリファイル転送用モードのことです。
GIFファイルやJPEGファイルなどの画像ファイルや音楽ファイルなどはバイナリモードでアップロードします。

【アスキーモード】
FTPにおけるテキストファイル転送用モードのことです。(テキストモードとも言われます)
HTMLファイルやTXTファイル、CGIファイルなどはアスキーモードでアップロードします。
アスキーモードでファイルをアップロードすると、改行コードや文字コードの変換が自動で行われます。

つまり、バイナリモードはファイルをそのまま転送されます、アスキーモードは環境に合わせてファイルを加工し、転送します。

すなわち、アスキーモードでは、ファイルが勝手に修正されちゃいますので、プログラムは思い通りに動作しない場合、ここをチェックした方がいい。

では、そんな勝手なモードどうして存在する価値があるの?

それは、OSによって改行コードがそれぞれからです。

Unix・Linux系では改行コードはLFで、CGIなど改行コードをLFにしないと動作しないです。
しかし、「Windows端末でPGを書き、Unixサーバーにアップロードする」という形を取る開発者が結構多いです、Windows端末では、デフォルトの改行コードはLFではなく、CRLFです。
このようなOS間のテキストファイル改行コードの差異を吸収するために、Ftpのアスキーモードが存在しているわけです。
もちろん、端末側もサーバー側も、意識的にエディタ等で改行コードをLFに統一すれば、アスキーモードを使う必要がありませんし、使わないほうが安全です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です