Nueva línea

La codificación del carácter nueva línea no es la misma en todas las arquitecturas ni sistemas operativos, cosa que puede dar problemas cuando se intercambian datos entre ordenadores.

Aún se discute si el carácter de nueva línea debería terminar o separar las líneas.

Esto causa problemas al comunicarse con sistemas que siguen más firmemente el estándar.

Según [1]: LF:    Salto de línea, u000A CR:    Retorno de carro, u000D CR+LF: CR seguido por LF NEL:   Next Line, u0085 FF:    Form Feed, u000C LS:    Line Separator, u2028 PS:    Paragraph Separator, u2029 Parece demasiado complicado frente a otras posibles soluciones, como por ejemplo convertir todos los terminadores a un solo carácter como el LF, pero se ha hecho así para que la conversión pueda ser bidireccional.

Como esta operación no se podía hacer en tiempo "1 carácter", había que dividirla en dos caracteres.

En cualquier caso, esta convención de QDOS pasó al siguiente sistema operativo comercializado por Microsoft, el Windows, y sigue igual en la actualidad (2006).

Otro problema común es usar \n al comunicarse mediante un protocolo de red que requiere CRLF como terminador.

Perl tiene un 'binmode' para las traducciones literales a la hora de leer y escribir en ficheros.

Las diferentes representaciones de la nueva línea en los sistemas operativos a veces causan que al transferir un fichero entre dos ordenadores, se muestre incorrectamente.

Por ejemplo, en condiciones normales, los ficheros creados en sistemas Unix o Apple Macintosh se verán como una línea larga en Windows.

Al transferir ficheros por FTP, el cliente puede convertir automáticamente entre diferentes codificaciones si está activado el modo de texto.

Sin embargo, si se usa este modo para transferir un archivo binario, el fichero llegará corrupto.

Los programas suelen usar heurísticos para detectar si un fichero es binario o no, pero pueden equivocarse.