Sim, sim, estou ciente de que '\n'
escreve uma nova linha em UNIX, enquanto para o Windows não é a seqüência de dois caracteres: '\r\n'
. Tudo isso é muito bom em teoria, mas minha pergunta é por quê ? Por que o caractere de retorno de carro é extra no Windows? Se o UNIX pode fazer isso, \n
por que o Windows leva dois caracteres para fazer isso?
Estou lendo o livro Python de David Beazley e ele diz:
Por exemplo, no Windows, escrever o caractere '\ n' na verdade gera a sequência de dois caracteres '\ r \ n' (e ao ler o arquivo novamente, '\ r \ n' é convertido novamente em um único '\ n' personagem).
Por que o esforço extra?
Eu serei honesto. Eu conheço a diferença há muito tempo, mas nunca me preocupei em perguntar por que. Espero que isso seja respondido hoje.
Obrigado pelo seu tempo.
System.out.printf()
ou String.format()
), certifique-se de usar %n
como seu CRLF para fins de compatibilidade com o SO. \n
está obsoleto.
\n\r
várias vezes. (Eu acho que foi algo de NetWare.)
\r\n
. Também é usado pela maioria dos protocolos da Internet baseados em texto (por exemplo, SMTP, HTTP, etc.) pelo mesmo motivo que o Windows (por exemplo, histórico).