¿Cuál es la diferencia entre un "avance de línea" y un "retorno de carro"?
Si hay dos palabras clave, deben tener sus propios significados. Por eso quiero saber qué los hace diferentes y cuál es su código.
Un avance de línea significa avanzar una línea. El código es \n
.
Un retorno de carro significa mover el cursor al principio de la línea. El código es \r
.
Los editores de Windows suelen seguir utilizando la combinación de ambos como \r\n
en los archivos de texto. Unix utiliza principalmente sólo el \n
.
La separación proviene de la época de las máquinas de escribir, cuando girabas la rueda para mover el papel para cambiar de línea y movías el carro para volver a escribir al principio de una línea. Estos fueron dos pasos.
En un lenguaje muy sencillo, Enterpresionar una tecla es una combinación de retorno de carro y avance de línea.
El retorno de carro apunta el cursor al comienzo de la línea horizontalmente y el avance de línea desplaza el cursor a la siguiente línea verticalmente. La combinación de ambos le da el \n
efecto de nueva línea ().
Referencia: https://en.wikipedia.org/wiki/Carriage_return#Computers
Ambos son primarios de los viejos tiempos de la imprenta.
El retorno del carro es de los días de las impresoras de teletipo/máquinas de escribir antiguas, donde literalmente el carro regresaba a la siguiente línea y empujaba el papel hacia arriba. Esto es lo que ahora llamamos \r
.
El avance de línea LF
señala el final de la línea, indica que la línea ha finalizado, pero no mueve el cursor a la siguiente línea . En otras palabras, no "devuelve" el cursor/cabezal de la impresora a la siguiente línea.
Para más detalles diversos, la poderosa Wikipedia al rescate.