Символ 0a - это перевод строки, а 0d - возврат каретки. В «Режиме ASCII» их можно изменить при передаче по FTP между разными операционными системами. Например, в исходном файле Unix / Linux с окончанием строки LF, загруженном на сайт Windows SharePoint, каждый LF будет изменен на CRLF. Некоторые реализации могут просто изменить LF на CR. Убедитесь, что вы указали режим двоичный
в своих передачах.
В документации для ncftp
указано, что он по умолчанию работает в двоичном режиме, но принимает двоичную команду
, как и большинство ftp-клиентов. Я бы вставил эту команду перед передачей любых файлов и посмотрел, поможет ли это. Если это так, это означает, что что-то каким-то образом отменяет значение по умолчанию.
В этом случае проблема явно не в t ncftp
, а на другом конце - Filezilla . По умолчанию установлено «Авто», что означает, что файл с расширением .txt
имеет значение ASS | U | MEd для ASCII, и это мешает завершению строки.