tecla salto retorno linea carro carriage caracter newline carriage-return linefeed control-characters ansi-escape

newline - salto - retorno de carro word



¿Qué son el retorno de carro, el salto de línea y el avance de página? (11)

Cuál es el significado de los siguientes caracteres de control:

  1. Retorno de carro

  2. Linea de alimentación

  3. Alimentación de forma


"/ n" es el carácter de salto de línea. Significa terminar la línea actual e ir a una nueva línea para cualquiera que la esté leyendo.


Aparte de la información anterior, todavía hay una historia interesante de LF (/ n) y CR (/ r). [Autor original: 阮一峰 Fuente: http://www.ruanyifeng.com/blog/2006/04/post_213.html] Antes de que saliera la computadora, había un tipo de teletipo llamado Teletype Modelo 33. Puede imprimir 10 caracteres cada uno segundo. Pero hay un problema con esto, después de terminar de imprimir cada línea, tomará 0.2 segundos pasar a la siguiente línea, que es el momento de imprimir 2 caracteres. Si se transfieren nuevos caracteres durante este 0.2 segundos, entonces este nuevo carácter se perderá.

Así que los científicos encontraron una manera de resolver este problema, añaden dos caracteres finales después de cada línea, uno es ''Retorno de carro'', que consiste en decirle a la impresora que lleve el cabezal de impresión a la izquierda .; el otro es ''Avance de línea'', le dice a la impresora que mueva el papel 1 línea hacia arriba.

Más tarde, la computadora se hizo popular, estos dos conceptos se utilizan en las computadoras. En ese momento, el dispositivo de almacenamiento era muy caro, por lo que algunos científicos dijeron que era costoso agregar dos caracteres al final de cada línea, uno es suficiente, por lo que hay algunos argumentos sobre cuál usar.

En UNIX / Mac y Linux, ''/ n'' se coloca al final de cada línea, en Windows, ''/ r / n'' se pone al final de cada línea. La consecuencia de este uso es que los archivos en UNIX / Mac se mostrarán en una línea si se abren en Windows. Mientras que el archivo en Windows tendrá una ^ M al final de cada línea si se abre en UNIX o Mac.


Como suplemento,

1, Retorno de carro : es una terminología de impresora que significa cambiar la ubicación de impresión al principio de la línea actual . En el mundo informático, significa volver al principio de la línea actual en la mayoría de los casos, pero representa una nueva línea rara vez.

2, alimentación de línea : es una terminología de la impresora que significa avanzar el papel una línea. Por lo tanto, el retorno de carro y el avance de línea se usan juntos para comenzar a imprimir al comienzo de una nueva línea. En el mundo de la computación, generalmente tiene el mismo significado que el de nueva línea.

3, avance de página : es una terminología de impresora, me gusta la explicación en este hilo .

Si estuviera programando para una impresora de estilo de la década de 1980, expulsaría el papel y comenzaría una nueva página. Estás virtualmente seguro de que nunca lo necesitarás.

http://en.wikipedia.org/wiki/Form_feed

Es casi obsoleto y puede consultar la secuencia de Escape / f - feed del formulario: ¿qué es exactamente? para una explicación detallada.

Tenga en cuenta que podemos usar CR o LF o CRLF para representar la nueva línea en algunas plataformas, pero la nueva línea no puede ser soportada por ellas en otras plataformas. Consulte wiki Newline para más detalles.

LF: Multics, Unix y sistemas similares a Unix (Linux, OS X, FreeBSD, AIX, Xenix, etc.), BeOS, Amiga, RISC OS y otros

CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, familia Apple II, Oberon, el clásico Mac OS hasta la versión 9, MIT Lisp Machine y OS-9

RS: Implementación pre-POSIX de QNX

0x9B: máquinas Atari de 8 bits que utilizan la variante ATASCII de ASCII (155 en decimal)

CR + LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP / M, MP / M, Atari TOS, OS / 2, Symbian OS, Palm OS, Amstrad CPC y la mayoría de los otros sistemas operativos anteriores que no son Unix y no IBM

LF + CR: Acorn BBC y RISC salida de texto en cola.


Considere una impresora de impacto IBM 1403. CR movió el cabezal de impresión al inicio de la línea, pero NO avanzó el papel. Esto permitió "sobreimpresión", colocando múltiples líneas de salida en una línea. Cosas como subrayar se lograron de esta manera, al igual que la impresión en NEGRO. LF adelantó el papel una línea. Si no hubiera CR, la siguiente línea se imprimiría como un paso escalonado porque LF no movió el cabezal de impresión. FF avanzó el papel a la página siguiente. Por lo general, también movió el cabezal de impresión al comienzo de la primera línea en la nueva página, pero es posible que necesite CR para eso. Para estar seguros, la mayoría de los programadores codificaron CRFF en lugar de CRLF al final de la última línea en una página porque no importaría un CR adicional creado por FF.


Echa un vistazo a Wikipedia :

Los sistemas basados ​​en ASCII o un conjunto de caracteres compatibles utilizan LF (Avance de línea, ''/ n'', 0x0A, 10 en decimal) o CR (Retorno de carro, ''/ r'', 0x0D, 13 en decimal) individualmente o CR seguido de LF (CR + LF, 0x0D 0x0A). Estos caracteres se basan en los comandos de la impresora: el avance de línea indica que una línea de papel debe salir de la impresora, y un retorno de carro indica que el carro de la impresora debe volver al principio de la línea actual.


El retorno de carro y el avance de línea también son referencias a las máquinas de escribir, ya que con un pequeño empujón en el asa en el lado izquierdo del carro (el lugar donde va el papel), el papel giraría una pequeña cantidad alrededor del cilindro, avanzando documento de una línea. Si había terminado de escribir una línea y quería continuar con la siguiente, presionó con más fuerza, avanzando una línea y deslizando el carro completamente hacia la derecha, luego continuando escribiendo de izquierda a derecha nuevamente mientras el carro viajaba con cada pulsación de tecla . No hace falta decir que el ajuste de palabras fue la configuración predeterminada para todos los procesadores de texto de la era. P: D


En los antiguos terminales de impresora de papel, avanzar a la siguiente línea implicaba dos acciones: mover el cabezal de impresión al principio del rango de escaneo horizontal (retorno de carro) y avanzar el rollo de papel que se está imprimiendo (avance de línea).

Dado que ya no usamos terminales de impresora de papel, esas acciones ya no son realmente relevantes, pero los caracteres utilizados para señalarlos se han atascado en varias encarnaciones.


Esos son caracteres que no se imprimen, relacionados con el concepto de "nueva línea". / n es el salto de línea. Es el retorno de carro. En diferentes plataformas tienen diferentes significados, en relación con una nueva línea válida. En Windows, una nueva línea es / r / n. En linux, / n. En mac, / r.

En la práctica, los pone en cualquier cadena, y tendrá efecto en la impresión de la cadena.


Retorno de carro significa regresar al principio de la línea actual sin avanzar hacia abajo. El nombre proviene del carro de una impresora, ya que los monitores eran raros cuando el nombre fue acuñado. Esto generalmente se escapa como "/ r", CR abreviado, y tiene un valor ASCII 13 o 0x0D.

El salto de línea significa avanzar hacia abajo a la siguiente línea; sin embargo, ha sido reutilizado y renombrado. Usado como "nueva línea", termina las líneas (comúnmente confundidas con las líneas de separación ). Esto generalmente se escapa como "/ n", abreviado LF o NL, y tiene un valor ASCII 10 o 0x0A. CRLF (pero no CRNL) se utiliza para el par "/ r / n".

El avance de página significa avanzar hacia abajo a la siguiente "página". Se usaba comúnmente como separadores de página, pero ahora también se usa como separadores de sección. (Se usa poco en el código fuente para dividir funciones o grupos de funciones lógicamente independientes). Los editores de texto pueden usar este carácter cuando "inserta un salto de página". Esto generalmente se escapa como "/ f", FF abreviado, y tiene un valor ASCII 12 o 0x0C.

Como personajes de control, pueden ser interpretados de varias maneras.

La diferencia más común (y probablemente la única por la que merece la pena preocuparse) es que las líneas terminan con CRLF en Windows, NL en Unix-like y CR en Macs más antiguas (la situación ha cambiado con OS X para ser como Unix). Note que el cambio en el significado de LF a NL, para el mismo carácter exacto, da las diferencias entre Windows y Unix. (Windows es, por supuesto, más nuevo que Unix, por lo que no adoptó este cambio semántico. No conozco la historia de las Mac con CR). Muchos editores de texto pueden leer archivos en cualquiera de estos tres formatos y convertirlos entre ellos. , pero no todas las utilidades pueden.

La alimentación de formularios es un poco más interesante (aunque se usa menos comúnmente directamente), y con la definición habitual de separador de página, solo puede aparecer entre líneas (por ejemplo, después de la secuencia de nueva línea de NL, CRLF o CR) o al principio final del archivo.


/f se utiliza para el salto de página. No puedes ver ningún efecto en la consola. Pero cuando usa esta constante de caracteres en su archivo, entonces puede ver la diferencia.

Otro ejemplo es que si puede redirigir su salida a un archivo, entonces no tiene que escribir un archivo o usar el manejo de archivos.

Por ejemplo:

Escribe este código en c ++

void main() { clrscr(); cout<<"helloooooo" ; cout<<"/f"; cout<<"hiiiii" ; }

y cuando compilas esto genera un exe (por ejemplo, abc.exe )

entonces puedes redirigir tu salida a un archivo usando esto:

abc > xyz.doc

luego, abra el archivo xyz.doc para ver el salto de página real entre hellooo y hiiii ....


/r es el retorno de carro y mueve el cursor hacia atrás como si lo hiciera-

printf("/rnine") ninekoverflow

significa que ha desplazado el cursor al principio de "" y sobrescribe los cuatro caracteres iniciales, ya que "nueve" tiene una longitud de cuatro caracteres.

/n es un nuevo carácter de línea que cambia la línea y lleva el cursor al comienzo de una nueva línea como:

printf("/nnine") nine

/f es fuente de información, su uso se ha vuelto obsoleto pero se usa para dar sangría como

printf("/fnine") nine

si voy a escribir como-

printf("/fnine/fgreat") nine great