O caractere 0a é Feed de linha e 0d é Retorno de carro. No "Modo ASCII", as transferências FTP entre diferentes sistemas operacionais podem alterá-las. Por exemplo, um arquivo nativo do Unix / Linux com terminação de linha LF carregada em um site do Windows SharePoint terá cada LF alterado para CRLF. Algumas implementações podem simplesmente mudar as LFs para CRs. Verifique se você está especificando o modo binary
em suas transferências.
A documentação para ncftp
indica que o padrão é binário, mas aceita o comando binary
como a maioria dos clientes ftp. Eu inseriria esse comando antes que qualquer arquivo fosse transferido e verificaria se isso ajuda. Se isso acontecer, significa que alguma coisa está de alguma forma substituindo o padrão.
Neste caso, o problema aparentemente não é ncftp
, mas Filezilla na outra extremidade. O padrão é "Auto", o que significa que um arquivo com extensão .txt
é ASS | U | MEd como ASCII, e isso estraga a terminação de linha.