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 usa CR y LF para indicar un salto de línea. Parece que el método Linux (solo usando LF) tiene mucho más sentido, ahorra espacio y es más fácil de analizar.
85
Respuestas:
Históricamente al usar
impresoras matricialesLos teletipos CR devolverían el carro a la primera posición de la línea, mientras que LF pasaría a la siguiente línea. El uso de CR + LF en el propio archivo hizo posible enviar un archivo directamente a la impresora, sin ningún tipo de controlador de impresora.Gracias @zaph señalando que eran teletipos y no impresoras matriciales
fuente
@sshannin publicó una URL del blog de Raymond Chen, pero ya no funciona. El blog ha cambiado su software interno, por lo que las URL cambiaron.
Después de rastrear las publicaciones antiguas en el nuevo blog, lo encontré aquí .
Cita del blog:
Cambié este segundo enlace a una instantánea en The Wayback Machine, ya que la página real ya no está disponible.
Espero que esto responda tu pregunta.
fuente
Viene de las máquinas de teletipo (y máquinas de escribir) de antaño.
Solía ser que cuando terminaba de escribir una línea, tenía que mover el carro de la máquina de escribir (que sostenía el papel y se deslizaba hacia la izquierda mientras escribía) de regreso al inicio de la línea (CR). Luego, tuvo que avanzar el papel una línea (LF) para pasar a la siguiente línea.
Hay casos en los que es posible que no haya querido saltar de línea al devolver el carro, como si fuera a tachar un carácter con un guión (simplemente lo sobrescribiría).
Pero básicamente, se reduce a lo convencional. DOS usó la convención CR / LF completa y UNIX la acortó un poco. ¡Ahora estamos atascados!
fuente
Otros han dado la respuesta, pero yo quería agregar ... ¿Supongo que eres demasiado joven para haber usado una máquina de escribir? ;) El carro es un tambor. Moviéndolo horizontalmente hacia la derecha, el encabezado del tipo estacionario regresa al margen izquierdo de la página. Al girar el carro con el dedo índice y el pulgar, la página avanza una línea (s).
fuente
De Wikipedia :
fuente
He visto más de una cuenta en el sentido de que la razón para enviar dos caracteres (y a veces más) en lugar de uno era para hacer coincidir mejor la velocidad de transferencia de datos con la velocidad de impresión física ( esto fue hace mucho tiempo ). Mover el cabezal de impresión tomó más tiempo que imprimir un solo carácter y enviar caracteres adicionales fue una forma de evitar que la transferencia de datos se adelantara al dispositivo de impresión. Entonces, la razón por la que tenemos varios caracteres para el final de línea en Windows es básicamente la misma que la razón por la que tenemos teclados QWERTY: tenía la intención de ralentizar las cosas .
Obviamente, la razón por la que esta práctica continúa en Windows hasta el día de hoy se basa en alguna noción de compatibilidad con versiones anteriores y, en última instancia, simplemente en una simple inercia.
Sin embargo, cabe destacar que Windows no aplica estrictamente esta convención a nivel del sistema operativo . Cualquier aplicación de Windows es libre de ignorar la convención, dependiendo de con qué otras aplicaciones esté tratando de ser compatible.
Curiosamente, el artículo de Wikipedia sobre "Newline" afirma que Windows 8 puede introducir un cambio para usar solo LF. El artículo también afirma que Mac OS X introdujo una transición de LF + CR a solo LF.
fuente