Eu entendo a diferença entre os dois, então não há necessidade de entrar nisso, mas estou apenas me perguntando qual é o motivo por trás do motivo pelo qual o Windows usa CR e LF para indicar uma quebra de linha. Parece que o método Linux (apenas usando LF) faz muito mais sentido, economiza espaço e é mais fácil de analisar.
87
Respostas:
Historicamente, ao usar
impressoras matriciaisos teletipos CR retornariam o carro para a primeira posição da linha enquanto LF alimentaria para a próxima linha. A utilização de CR + LF no próprio arquivo possibilitou o envio de um arquivo diretamente para a impressora, sem nenhum tipo de driver de impressora.Obrigado @zaph apontando que eram teletipos e não impressoras matriciais
fonte
@sshannin postou uma URL do blog de Raymond Chen, mas não funciona mais. O blog mudou seu software interno, então os URLs mudaram.
Depois de rastejar pelos posts antigos no novo blog, eu o encontrei aqui .
Citação do blog:
Eu mudei este segundo link para um instantâneo em The Wayback Machine, uma vez que a página real não está mais disponível.
Espero que isso responda a sua pergunta.
fonte
Vem das máquinas de teletipo (e máquinas de escrever) dos dias de outrora.
Antes, quando você terminava de digitar uma linha, era necessário mover o carro da máquina de escrever (que segurava o papel e deslizava para a esquerda conforme você digitava) de volta ao início da linha (CR). Em seguida, você tinha que avançar o papel em uma linha (LF) para mover para a próxima linha.
Há casos em que você pode não querer avançar de linha ao retornar o carro, como se você fosse tachar um caractere com um travessão (você simplesmente o sobrescreveria).
Mas basicamente tudo se resume à convenção. O DOS usou a convenção CR / LF completa e o UNIX a encurtou um pouco. Agora estamos presos!
fonte
Outros deram a resposta, mas eu queria acrescentar ... Acho que você é muito jovem para ter usado uma máquina de escrever? ;) A carruagem é um tambor. Movê-lo horizontalmente para a direita traz a cabeça do tipo estacionário de volta para a margem esquerda da página. Girar o carro com o dedo e o polegar avança a página em uma linha (s).
fonte
Da Wikipedia :
fonte
Eu vi mais de uma conta no sentido de que o motivo para enviar dois caracteres (e às vezes mais) em vez de um era para combinar melhor a taxa de transferência de dados com a taxa de impressão física ( isso foi há muito tempo ). Mover a cabeça de impressão demorava mais do que imprimir um único caractere e enviar caracteres extras era uma forma de evitar que a transferência de dados ficasse à frente do dispositivo de impressão. Portanto, a razão de termos vários caracteres de fim de linha no Windows é basicamente a mesma razão de termos teclados QWERTY - a intenção era tornar as coisas mais lentas .
Obviamente, o motivo pelo qual essa prática continua no Windows até hoje é baseada em alguma noção de compatibilidade contínua com versões anteriores e, em última análise, apenas simples inércia.
É importante notar, entretanto, que essa convenção não é estritamente aplicada pelo Windows no nível do sistema operacional . Qualquer aplicativo do Windows é livre para ignorar a convenção, dependendo dos outros aplicativos com os quais está tentando ser compatível.
Curiosamente, o artigo da Wikipedia sobre "Newline" afirma que o Windows 8 pode introduzir uma mudança no uso apenas de LF. O artigo também afirma que o Mac OS X introduziu uma transição de LF + CR para apenas LF.
fonte