Какой смысл режима ASCII в FTP?

Почему там режим ASCII в FTP, который распространен в сегодняшнем программном обеспечении и реализациях FTP? Почему не только всегда используют двоичный файл независимо от данных?

17
задан 28.09.2015, 20:11

4 ответа

Когда в сомнении, считайте RFC:

Файловая структура является значением по умолчанию, которое будет принято, если команда STRUcture не использовалась, но и файл и рекордные структуры должны быть приняты для "текстовых" файлов (т.е. файлов с ТИПОМ ASCII или EBCDIC) всеми реализациями FTP. Структура файла будет влиять на обоих режим передачи файла (см. Раздел по Режимам передачи), и интерпретация и устройство хранения данных файла.

"Естественная" структура файла будет зависеть, на котором хост хранит файл. Файл исходного кода будет обычно храниться на Универсальном компьютере типа IBM в записях фиксированной длины, но на DEC TOPS-20 как поток символов, разделенных в строки, например. Если передача файлов между такими разрозненными сайтами должна быть полезной, должен быть некоторый путь к одному сайту для распознавания предположений других о файле.

и т.д. и т.д... Короче говоря, это должно гарантировать, что текстовые представления в одном кодировании были преобразованы правильно при передаче хостам с помощью другого кодирования.

24
ответ дан 07.12.2019, 10:37

Поскольку различные операционные системы (Windows, UNIX, VAX) используют другую строку конечные методы для простых текстовых файлов.

Windows (DOS) использует пару CR/LF, UNIX использует только одного из них. Режим ASCII преобразовывает пар CRLF, и режим BIN не делает.

Ron

4
ответ дан 07.12.2019, 10:37

Я думаю, что это просто, потому что это иногда удобно. Назад в день, когда FTP был то, как Вы получили файлы от одной системы до следующего, это было большое средство экономии времени - Вы не должны были знать то, что система была на другом конце, чтобы иметь файл читаемого текста.

Но да, главным образом это - просто неприятность сегодня. Просто corrupt-o-matic машина для непосвященного!

1
ответ дан 07.12.2019, 10:37

Режим ASCII используется так, чтобы программное обеспечение могло автоматически изменить символы EOL на собственные значения для клиента/сервера в зависимости от того, если Вы загружаете/загружаете. Если Вы загружаете на тот же тип системы, как Вы используете, нет никакого различия в этих режимах.

Причина этого режима, хотя то, потому что не все программное обеспечение во всех системах правильно обработает EOL, которые не являются точным надлежащим типом EOL (например, много программного обеспечения Windows только обработает "\r\n" правильно и будет мешать чему-то ужасному на "\n").

-1
ответ дан 07.12.2019, 10:37

Теги

Похожие вопросы