Entiendo la diferencia entre los dos así que no hay necesidad de entrar en eso, pero me pregunto cuál es el razonamiento detrás de por qué Windows utiliza CR y LF para indicar un salto de línea. Parece que los de Linux (método usando sólo LF) tiene mucho más sentido, ahorra espacio y es más fácil de analizar.
Respuestas
¿Demasiados anuncios?Históricamente, cuando el uso de impresoras de matriz de puntos CR iba a devolver el carro a la primera posición de la línea mientras LF de alimentar a la línea siguiente. El uso de CR+LF en el archivo de sí mismos hizo posible el envío de un archivo directamente a la impresora, sin ningún tipo de controlador de impresora.
Se trata de las máquinas de teletipo (y las máquinas de escribir) desde los días de antaño.
Solía ser que cuando estaban terminado de escribir una línea, había que mover la máquina de escribir del transporte (que tenía el papel y se deslizó a la izquierda de la máquina) se remonta al inicio de la línea (CR). Usted, entonces, tenía que avanzar el papel por debajo de una línea (LF) para desplazarse a la línea siguiente.
Hay casos que no han querido salto de línea al devolver el coche, como si fuera a ir a tachar una de caracteres con un guión (que acababa de sobrescribir).
Pero, básicamente, se reduce a la convención. DOS utilizan el pleno de la CR/LF convención, y UNIX acortado un poco. Ahora estamos atrapados!
Aquí está la wikipedia sobre la historia de la nueva línea: http://en.wikipedia.org/wiki/Newline#History
De La Wikipedia:
La secuencia CR+LF era de uso común en muchos de los primeros sistemas de cómputo que había adoptado el teletipo de máquinas, normalmente un ASR33, como un dispositivo de consola, debido a que esta secuencia se requiere para la posición de las impresoras en el inicio de una nueva línea.
He visto más de una cuenta para el efecto de que la razón para enviar dos personajes (y a veces más) en lugar de uno con el fin de ajustarse mejor a la velocidad de transferencia de datos para la impresión física de la tasa (esto fue hace mucho tiempo). Mover el cabezal de impresión tomó más tiempo que la impresión de un carácter único y el envío de caracteres adicionales que era una manera de prevenir la transferencia de datos de adelantarse en el dispositivo de impresión. Así que la razón por la que tenemos varios caracteres de fin de línea en Windows es básicamente la misma que la razón por la que tenemos teclados QWERTY -- fue la intención de frenar las cosas.
Obviamente, la razón de esta práctica continúa en Windows para que este día se basa en la noción de curso de compatibilidad hacia atrás, y en última instancia, de la simple inercia.
De nota, sin embargo, esta convención no es estrictamente de Windows a nivel de sistema operativo. Cualquier aplicación de Windows es libre de ignorar la convención, dependiendo de qué otras aplicaciones se está tratando de ser compatible con.
Curiosamente, el artículo de Wikipedia sobre "Newline", afirma que Windows 8 puede introducir un cambio en el uso de sólo LF. El artículo también establece que Mac OS X se introdujo una transición de la LF+CR a sólo LF.