
私は FTP サーバーに転送した Mac OS X アプリケーションとともに Unix 実行可能ファイルを持っています。これらのファイルをアップロードした後でダウンロードすると、Unix 実行可能ファイルは TextEdit ドキュメントとしてダウンロードされます。アプリケーションの場合も同様に、ダウンロード時に「アプリケーション MyApp を開くことができません」というメッセージが表示されます。これは、アプリケーションをダウンロードするときに、MyApp/Contents/MacOS/Myapp ディレクトリの Unix 実行可能ファイルがテキスト ドキュメントとしてダウンロードされるためだと思います。したがって、私が抱えている問題は両方とも同じだと思います。これを修正するにはどうすればよいですか。また、ファイルをアップロードしたときと同じカスタム アイコンも使用したいと思います。注: 元のファイルと FTP サーバーからダウンロードしたファイルのチェック サムは同じです。
答え1
要約:
これはASCIIモードでダウンロードした場合には正常です。バイナリダウンロードに切り替えてください
背景:
コンピューターに英語しかなく、アクセントやトレマ、その他の興味深い文字がなく、メモリがまだ非常に少なかった昔の伝承の時代には、文字と数字を表すために ASCII を使用していました。ASCSII には 127 のエントリが含まれています。
127 エントリは 7 ビットで収まりますが、現在の通常のバイトは 8 ビットです。*1
8 ビットすべてを送信すると、帯域幅 (非常に高価で制限されている) *2を無駄にするため、8 ビットが削除されます。これはテキスト ファイルでは問題なく機能しました。バイナリ (非 ASCII) データを転送する場合は、バイナリ モードに切り替えて FTP に 8 ビットすべてをダウンロードするように明示的に指示する必要がありました。
*1: リモート形式とローカル形式の間でテキストを変換するなどの便利な処理も実行します。たとえば、メインフレームの EBDIC から ASCII への変換、行末の変更などです。
*2: 帯域幅の例:
ASCII モード:
AAAAAAAB BBBBBBCC CCCCCDDD DDDDEEEE EEEFFFFF FFFGGGGG GGHHHHHH H...
^^^^^^
Savings
バイナリモード:
AAAAAAA- BBBBBBB- CCCCCCC- DDDDDDD- EEEEEEE- FFFFFFF- GGGGGGG- H....