Nový řádek
Author
Albert FloresNový řádek (zkratka EOL) označuje v informatice speciální znak nebo sekvenci znaků, která v počítačovém souboru označuje konec řádku, odřádkování, přičemž další řádek začíná opět u kraje stránky. V programování se tento termín využívá v situaci, kdy konkrétní výsledek operace je závislý na použitém operačním systému nebo nastaveném režimu práce se souborem.
Historie
Znaky CR (Carriage Return, ASCII kód 0x0D) a LF (Line Feed, ASCII kód 0x0A) pocházejí ještě z období dálnopisné komunikace. Znak LF byl interpretován jako posun papíru o řádek vzhůru a znak CR jako návrat vozíku s papírem nebo tiskovou hlavou. +more Znaky byly interpretované elektromechanicky a proto bylo výhodné mít pro každou relativně samostatnou činnost jeden speciální znak. Kód CR se vždy posílal jako první, aby se tiskový vozík stihl vrátit, než se začne tisknout nový řádek. Někdy bylo dokonce nutné posílat CR+LF+NUL (poslední znak nevyvolává žádnou činnost) nebo CR+CR+LF. V době, kdy se tyto činnosti začaly řešit pomocí software, ztratila oddělená existence těchto znaků smysl. Záleželo pak jen na tvůrcích systémů, jak se s možností jeden z nich vypustit vypořádali.
Reprezentace
Počítačové programy a operační systémy obvykle reprezentují nový řádek pomocí jednoho nebo dvou řídících znaků.
* Systémy používající ASCII reprezentují nový řádek buď kódem LF (Line feed, 0x0A) nebo kódem CR (Carriage return, 0x0D). Některé operační systémy používají dva znaky - sekvenci znaku CR následovaného znakem LF (CR+LF). +more ** LF: Unix a jemu podobné systémy (Linux, BSD, Mac OS X, Xenix, BeOS, Amiga, RISC OS atd. ) ** CR+LF: CP/M a systémy z něj vycházející (MP/M, DOS, OS/2, Microsoft Windows atd. ) ** CR: počítače Commodore, Apple II a operační systém Mac OS do verze 9 * Systémy založené na EBCDIC, zejména IBM mainframe systémy zahrnující z/OS (OS/390), i5/OS (OS/400) používají NEL (Next Line, 0x15). EBCDIC také obsahuje řídící znaky CR a LF, ale číselná reprezentace LF se liší od ASCII kódu. * OpenVMS používá souborový systém založený na záznamech. U textových souborů ukládá každý řádek do nového záznamu bez ukončení řídícími znaky. Pokud to aplikace vyžaduje, systém může znaky transparentně doplnit při čtení souboru.
Tabulka kódů
Zkratka | Název | Unicode | ISO-8859-2 | EBCDIC | Open MVS EBCDIC | Označení v C |
---|---|---|---|---|---|---|
CR | carriage return | 000D | 0D | 0D | 0D | "\r" |
LF | line feed | 000A | 0A | 25 | 25 | "\n" |
CR+LF | carriage return and line feed | 000D,000A | 0D,0A | 0D,25 | 0D,25 | "\r\n" |
NEL | next line | 0085 | 85 | 15 | 15 | |
VT | vertical tab | 000B | 0B | 0B | 0B | |
FF | form feed | 000C | 0C | 0C | 0C | |
LS | line separator | 2028 | ||||
PS | paragraph separator | 2029 |