Вы уже сами ответили, но я думаю, что я могу сделать лучше, чем, Apparently certain types of files need to be uploaded in binary
.
Сначала небольшая справочная информация:
1: компьютеры, биты и байты.
Наименьшая часть информации в компьютере немного. Бит имеет значение true или false,) или 1, высокое напряжение или заземление, ...
Биты сгруппированы в небольшие наборы. Практически для всех современных компьютеров в группах по восемь человек. Мы называем это байтом.
Набор из 8 бит / 1 байт может иметь 256 различных значений, начиная с
00000000 означает 0
00000001 означает 1
00000010 означает 2
00000011 означает 3 (оба 2+1 установлены)
00000100 означает 4
...
11111111 означает 255
2: ASCII.
ASCII представляет собой набор из 128 символов, пронумерованных от 0 до 127. Вам нужно только 7 бит для этого. В старые времена это было все, что вам нужно для общения. Просто обычная буква 26 в западном алфавите, цифры от 0 до 9 и некоторые специальные коды обозначаются цифрой 7: звоните в звонок или подайте звуковой сигнал.
В наши дни мы определяем гораздо больше персонажей. Мы используем UTF-16 и Unicode, что позволяет использовать китайский, японский, язык с написанием справа налево и т.д. И т.д. В прежние времена у нас еще не было поддержки этого в общих местах.
3: Наконец: пропускная способность / была дорогой.
Мы отправляем все 8 битов в место назначения, когда вы знаете, что вам нужно только 7 из них для представления текста? Если вы делаете все правильно, вы можете сэкономить 1/8 полосы пропускания.
Это может показаться не таким уж большим, чтобы использовать его сегодня, но в эпоху, когда Европа-США соединяются по линии со скоростью 1200 бод, что составляет около 0,1 КБ / с!) каждый немного помог.
Итак, предположим, я хочу написать "Привет".
Я могу посмотреть это в таблице ASCII и обнаружу, что ваш компьютер будет хранить это в четырех байтах, содержащих это:
H e l l o
01001000 01100101 01101100 01101100 01101111
Обратите внимание, что первые биты всех букв равны 0. С таким же успехом я мог бы вспомнить эту часть:
H e l l o
1001000 1100101 1101100 1101100 1101111
Первый пример имеет 32 бита (4 байта, каждый 8 бит информации).
Второй пример имеет только 28 бит. Это более эффективно.
Это делает его предпочтительным методом передачи текста. Однако, пропуская первый бит, вы нарушите все, что не является текстом. Таким образом, протокол FTP был разработан с двумя вариантами: режим ASCII (эффективен для текста) и режим BINary (передача как есть).
Хорошо, со всем, что известно:
Вы передали двоичные файлы (например, PDF) в режиме ASCII, который не передал всю информацию. Таким образом, полученные файлы были повреждены в месте назначения.
Чтобы передать что-либо, кроме простого старого текста, используйте команду «bin» в приглашении FTP или отметьте опцию «bin», если вы используете графический интерфейс.
Я надеюсь, что это отвечает «Что здесь происходит?:)