В какой ситуации я должен использовать ASCII для передачи файла по FTP? (Я не спрашиваю разницу между ascii xfer и bin xfer) - PullRequest
14 голосов
/ 27 мая 2011

Я понимаю разницу между режимом ASCII и двоичным, когда дело касается FTP, но я не понимаю, почему вообще существует необходимость в режиме ASCII?Это просто унаследованная вещь, которая использовалась для экономии времени за счет исключения наиболее значимого бита, в результате чего общая скорость передачи увеличилась на 1/8?Или есть какое-то скрытое использование для этого, о котором я не знаю?

Я столкнулся со многими проблемами, потому что я забыл бы переключить режим в bin при передаче текста между различными ОС.Я не понимаю, почему «мусорное ведро» не просто по умолчанию для всех, особенно с сегодняшними гораздо более быстрыми скоростями интернета.

Knowwutimean, Vern?

Ответы [ 4 ]

10 голосов
/ 27 мая 2011

Режим ASCII существует, поэтому вы можете получить правильный ответ при загрузке текстового файла в удаленную систему, не зная, каковы условия завершения строки или набора символов для этой системы.Это было более важно, когда передача текстовых файлов чаще выполнялась через FTP, чем, скажем, по электронной почте.

Для решения вашей практической проблемы: проверьте документацию для вашего FTP-клиента и серверов, чтобы узнать, есть лиспособ установить режим ASCII по умолчанию.Часто это так просто, как какой-то «профиль», который отправляет некоторые команды FTP при каждом подключении.

Для решения вашей философской проблемы: FTP - это 40-летний протокол, который имеет значительную долю исторического багажа.Однажды вы будете очень рады, что некоторый протокол, от которого вы зависите, был стандартизирован давно, и вы все еще можете получить доступ к некоторым старым данным.

5 голосов
/ 26 июля 2011

Я, например, голосую за исключение режима ascii с ftp-серверов. Любой перевод EOL может быть выполнен приложениями, использующими файлы, и многие приложения сегодня все равно понимают оба типа EOL. Как минимум, я хотел бы, чтобы серверы переключались на использование двоичного файла по умолчанию и использовали ascii только по запросу.

1 голос
/ 27 мая 2011

Одним из сценариев практического использования режима ASCII является загрузка PHP или Perl или аналогичных сценариев с компьютера для разработки Windows на сервер Unix.Использование двоичного режима потребует отдельного преобразования последовательностей конца строки, в то время как в режиме ASCII преобразование выполняется «автоматически».

Обновление: есть еще один сценарий, с которым мы столкнулись - при передаче данных на / с мэйнфреймов, использующих кодирование EBCDIC, режим ASCII сообщает серверу выполнить преобразование между кодировками.

0 голосов
/ 20 января 2016

Вот практический пример проблемы, возникающей при использовании двоичного FTP-соединения.В php есть два типа комментариев:

// a single line comment like this
/* a block comment like this */

Блочный комментарий имеет начало и конец.Но однострочный комментарий заканчивается только в конце строки.

Если вы загрузите php-файл с однострочными комментариями, используя двоичное соединение, php остановится, как только попадет однострочный комментарий.Он не распознает конец строки как конец комментария, поэтому он эффективно комментирует остальную часть вашего php-скрипта.

Если вы используете FTP в режиме ASCII, он правильно прочитает конец строки и запустит ваш php-код, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...