Jump to content

Newline

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Shimmin (talk | contribs) at 17:01, 9 February 2004 (corrected misconception about ASCII-1963). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, newline is a special character or a sequence of characters indicating the end of a line.

Software applications and operating systems have various conventions for representing the end of a line of text, the so-called newline. This term, to be distinguished from "new line", is used for a code in a text to go to a line, as opposed to a new line that is the result of automatic wrapping by the program that displays the text. It is done with one or two control characters. Most systems use either LF (Line Feed) or CR (Carriage Return) individually, or CR followed by LF. When a program stores text in a file using ASCII or an ASCII-compatible 8-bit encoding, as is typically the default, these characters are represented with their single ASCII bytes 0A, 0D, or 0D followed by 0A, respectively. (ASCII was developed simultaneously by the ISO and the ASA, the predecessor organization to ANSI. During the period 1963-1968, the ISO draft standards supported the use of either CR+LF or LF alone as a newline, while the ASA drafts supported only CR+LF. The Multics operating system began development in 1964 and used LF alone as its newline. Unix followed the Multics practice, and later systems followed Unix.)

Some mainframe operating systems still use EBCDIC, an IBM-proprietary 8-bit encoding that is completely incompatible with ASCII. In EBCDIC, the "Next Line" (NEL) code at X'15' is the typical end-of-line character. The following table demonstrates the variations in the end-of-line conventions among OSes:

In the C standard I/O library, files can be accessed in either "text" or "binary" mode; when performing input or output in text mode, on a system where lines are not terminated by the C newline character '\n', the native line termination is automatically translated into a C newline. (This is a legacy of C's historic grounding in Unix, where there is no need for such a distinction.)

NEL:

CRLF:

CR:

LF:

Unclassified:

  • Cygwin - Depends on how it was installed
  • Virtual Memory System (VMS) - Has many text file formats. The default is "Variable Length Record". Format is specified by the "Record format" field of the file's directory entry. Variable Length Record, CR LF, CR, LF, Fixed Length Record, etc.