• ベストアンサー

FTPのASCIIとBINARYについて

BINARYを使用すれば、すべて問題ないような気がしますが、なぜASCIIがあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ok2ok
  • ベストアンサー率38% (97/255)
回答No.1

 ASCIIモードはテキストデータを転送するためのモードですが、その際に、必要に応じて文字コード変換を行います。  現在、Shift JISコード、UNICODE、JISコード、EUCコードなど、多数の文字コードがコンピュータで使われています。また、同じShift JISコードを使ったテキストファイルでも、WindowsとMac OSではバイナリレベルでのコード順が違いますし、改行コードも違います。  そのため、テキストファイルを、文字コードが異なるOSにBinaryモードで転送してしまうと、テキストを読めなくなります。ASCIIモードでは、それぞれのOSでテキストファイルをちゃんと読めるように文字コード変換する機能があるのです。 (逆に、非テキストファイルをASCIIモードで転送すると、勝手に文字コード変換されるのでファイル内容がむちゃくちゃになります)  ちなみに、規格は異なりますが、ホームページや電子メールなどもFTPのASCIIモード転送と同様に、自動的に文字コード変換されますね。そのため、OSの文字コードが違う機種でもちゃんと内容を読めます。  余談ですが、インターネットを使ってファイル転送する場合、FTPではデータを暗号通信できませんし、IDやパスワードも暗号化できません。しかもファイアウォールにFTPのポート番号を開けなければなりません。セキュリティを考えると非常に危険ですので、最近はインターネット上のファイル転送にはFTPではなくWebDAVを使う傾向にあります。  WebDAVも暗号通信の機能はありませんが、HTTPを使って通信しますので、WebサイトがSSLを採用していれば、SSLを使ってWebDAV通信の内容も暗号化できます。ファイル転送用に新しいポートを開けなくても、HTTPやHTTPSのポートで通信できます。

souichi_
質問者

お礼

非常に参考になります!詳しい回答ありがとうございました!

関連するQ&A