Diferença entre os tipos de quebra de linha CR LF, LF e CR?

I'gostaria de saber a diferença (com exemplos se possível) entre os tipos de quebra de linha CR LF (Windows), LF (Unix) e CR (Macintosh).

CR e LF são caracteres de controle, respectivamente codificados 0x0D (13 decimal) e 0x0A (10 decimal).

Eles são usados para marcar uma quebra de linha num ficheiro de texto. Como você indicou, o Windows usa dois caracteres a sequência CR LF; o Unix usa apenas LF e o antigo MacOS ( pré-OSX MacIntosh) usa CR.

Uma perspectiva histórica apócrifa:

Como indicado por Peter]1, CR = Carriage Return e LF = Line Feed, duas expressões têm as suas raízes nas antigas máquinas de escrever / TTY. LF moveu o papel para cima (mas manteve a posição horizontal idêntica) e CR trouxe de volta o "carriage" de modo que o próximo caractere digitado estaria na posição mais à esquerda no papel (mas na mesma linha). CR+LF estava fazendo ambos, ou seja, preparando-se para digitar uma nova linha. Com o passar do tempo a semântica física dos códigos não era aplicável, e como a memória e o espaço em disquetes estavam em um Premium, alguns designers de SO decidiram usar apenas um dos caracteres, eles simplesmente não't comunicam muito bem um com o outro ;-)

A maioria dos editores de texto modernos e aplicações orientadas a texto oferecem opções/ajustes, etc. que permitem a detecção automática do arquivo's convenção de fim de linha e exibi-lo em conformidade.

Comentários (4)
Solução

It's realmente apenas sobre quais bytes são armazenados em um arquivo. O CR é um bytecode para retorno de carruagem (dos dias das máquinas de escrever) e o LF de forma semelhante, para alimentação de linha. Ele apenas se refere aos bytes que são colocados como marcadores de fim de linha.

Muito mais informação, como sempre, na wikipedia.

Comentários (2)

Sistemas baseados em ASCII ou um o conjunto de caracteres compatível utiliza LF (Alimentação de linha, 0x0A, 10 em decimal) ou CR (Carriage return, 0x0D, 13 em decimal) individualmente, ou CR seguido de LF (CR+LF, 0x0D 0x0A); Estes caracteres são baseados em comandos de impressora: A alimentação de linha indicou que uma linha de o papel deve ser alimentado fora da impressora, e um retorno de carroça indicou que a impressora o transporte deve regressar ao início da linha actual.

Aqui está o detalhes.

Comentários (0)