Краткий обзор:

Краткий обзор:

У меня есть исполняемые файлы unix вместе с приложением mac OS X, которые я перенес на свой FTP-сервер. Когда я загружаю эти файлы после их загрузки, исполняемые файлы unix загружаются как документы TextEdit. Аналогично с приложением, при загрузке оно говорит: «Приложение MyApp не может быть открыто». Я полагаю, это происходит потому, что при загрузке приложения оно загружает исполняемый файл unix в каталог MyApp/Contents/MacOS/Myapp как текстовый документ. Поэтому я предполагаю, что проблема та же, что и в обеих моих проблемах. Как это можно исправить? Также я хотел бы иметь тот же самый настраиваемый значок, с которым я загрузил файл. Примечание: контрольная сумма для исходного файла и загруженного файла с 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....

Связанный контент