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

17

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

zildjohn01
источник

Ответы:

24

Если вы сомневаетесь, прочитайте RFC :

Файл-структуры по умолчанию будет считать, если команда структурировать не используется, но как файл и записи структуры должны быть приняты для файлов «текст» (то есть, файлы с типом ASCII или EBCDIC) всеми реализациями FTP. Структура файла будет влиять как режим передачи файла (смотрите раздел по Режимы передачи) и интерпретации и хранения файла.

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

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

Синан Ünür
источник
В случае сомнений: поиск Google и найти ответ на StackExchange.
ke4ukz
4

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

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

Рон

user14456
источник
4
Это больше , чем просто окончание строки , кодирующим различия вы упоминаете, но это также и различия кодирования символов сами такие как разница между ASCII и EBCDIC. Ответ @Sinan на сайтах специфики, задокументированной в RFC-959
Tall Jeff
1

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

Но да, в основном это просто неприятность сегодня. Просто испорченная машина для непосвященных!

Дэвид Markle
источник
1

Режим ASCII занял свое место еще в тот день, когда кодирование символов и EOL стало настоящей проблемой, но я бы хотел, чтобы клиенты ftp удалили или, возможно, просто скрыли эту опцию сегодня. Nowdays это в основном только EOL конвенции, которые получают перепутались между системами, но я нашел наиболее порядочные текстовые редакторы больше не волнует в любом случае. Поэтому для того, чтобы избежать повреждения бинарных файлов (или даже некоторые текстовые, основанные), я рекомендую только в двоичном режиме для всего.

boomhauer
источник
-1

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

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

Мэтью Шарли
источник
«нет никакой разницы в этих режимах.» - Это неправда. Отправка двоичного файла в режиме ascii может привести к его повреждению. Плохо.
Beefster