У меня есть исполняемые файлы Unix вместе с приложением Mac OS X, которые я перенес на мой FTP-сервер. Когда я загружаю эти файлы после загрузки, исполняемые файлы Unix загружаются как документы TextEdit. Как и в случае с приложением, при загрузке оно говорит: "Приложение MyApp не может быть открыто". Я полагаю, что это потому, что когда он загружает приложение, он загружает исполняемый файл Unix из каталога MyApp/Contents/MacOS/Myapp в виде текстового документа. Поэтому я предполагаю, что проблема одинакова для обеих проблем, которые у меня возникают. Как это можно исправить. Также я хотел бы иметь тот же пользовательский значок, с которым я загрузил файл. Примечание. Контрольная сумма для исходного файла и загруженного файла с ftp-сервера совпадает.

1 ответ1

-1

TLDR:

Это нормально, когда вы загружаете в режиме 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....

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .