Novlinio

eta
En komputado **novlinio**, ankaŭ konata kiel **linifinilo** (aŭ EOL, laŭ la angla ), estas speciala komando, finanta la kurantan tekstan linion kaj komencanta la linion sekvan. En la klavaro de elektra tajpilo ĝin plenumas aparta klavo  (eventuale kun la angla surskribo , «Enigu», aŭ , «(Ĉaret)Reveno»). Ĉe komunikado per lineo aŭ en teksta dosiero ĝin kodas unu aŭ pluraj stirsignoj, malsamaj en diversaj operaciumoj (tio povas kaŭzi komplikaĵojn ĉe transporto de dosieroj inter malsamaj komputaj sistemoj).

La stirsignoj uzataj por kodi novlinion estiĝis en la malnova epoko de tiaj malnovaj aparatoj (precipe teletajpiloj). En tiuj aparatoj transiro al nova linio konsistis el du agoj:
* vertikala liniavanco de la papero (Askie `LF` = 10 = 128 = 0A16),
* horizontala ĉaretrevenigo al la komenca pozicio ene de linio (Askie `CR` = 13 = 158 = 0D16).

Ekzistis ankaŭ aliaj aparatoj, kies funkciadon spegulas la malnova kodo EBCDIC, kiuj krome disponigis kombinitan stirkodon `NEL` (angle '**, NovLinio, en EBCDIC 21 = 1516). Tamen reale la modernaj komputaj sistemoj uzas la stirsignojn Askiajn (kvankam diversmaniere).

* La Majkrosoftaj operaciumoj (MS-DOS, Vindozo) restas ĉe la antikva kombino **CR+LF** (ĉaretreveno + liniavanco). La ordo estas esenca kaj estas heredaĵo de la elektromeĥanika epoko senbufra: ĉaretreveno estis ago longa, la sendependa liniavanco okazis paralele kaj aldonis neniom da tempo.
* La klasikaj Makintoŝoj (ĝis la transiro al la Uniksa Mac OS X) realigis novlinion per nura **CR** (ĉaretrevenigo) — supozeble ĉar en iuj malnovaj klavaroj tiun kodon sendis la klavo  (la modernaj klavaroj sendas aparatan klavkodon senrilatan al Askio, la logikan klavkodon atribuas la operaciumo). Ekde Mac OS X la Makintoŝoj aliĝis al la tradicio Uniksa.
* En Uniksoj novlinion realigas la liniavanco **LF**. Oni preferis liniavancon, ĉar ĉe teletajpiloj ĉaretrevenigo estis utila por surprintado (ebliganta grasigon aŭ almeton de diakritoj).

La tekstaj redaktiloj plejparte disponigas rimedojn por transkodi linifinilojn. Krome ekzistas tiucelaj programetoj, ekz‑e la Uniksaj `dos2unix` kaj `unix2dos` (resp. «el DOS al Unix» kaj «el Unix al DOS»).

En la programlingvo C, firme ligita kun realigo de Unikso, la koncernaj stirsignoj ricevis la simbolan prezenton per `\n` por liniavanco LF, kaj `\r` por ĉaretrevenigo CR — kiel en la notora

```c
printf("Saluton, mondo!\n");
```

Tiun notacion adoptis multaj aliaj programlingvoj, sekve de kio la signifo de `\n` ŝanĝiĝis: nun en multaj okazoj ĝi simbolas ne konkretan stirsignon LF, sed la abstraktan komandon «Novlinio» (simile al la EBCDIC-a `NEL`). Ekz‑e en la Vindozaj Python kaj PowerShell:

**PS C:\Users\NN>'* *python'' -c "print('Unu\nDu')" > t.txt
**PS C:\Users\NN>** *type* t.txt
Unu
Du
**PS C:\Users\NN>** *format-hex* t.txt
[...]
00000000   FF FE 55 00 6E 00 75 00 0D 00 0A 00 44 00 75 00  .þU.n.u.....D.u.
00000010   0D 00 0A 00                                      ....

**PS C:\Users\NN>**

La bita elŝuto per `format-hex` atestas, ke la simbolo `\n` (kiu en Unikso transformiĝas en unu bajton 0A16) en Vindozo malvolviĝas en **kvar** bajtojn 
`0D 00 0A 00` (t.e. la kombino `CR+LF` en la Vindoza kodoprezento UTF-16) kontraste al unu sola `0A` en Unikso kaj UTF-8.

Ĉar Unikodo devas kovri ĉiujn historie gravajn signarojn, tial ĉe la signonumero `U+0085` ĝi entenas ankaŭ la stirsignon `NEL`, , heredaĵon de EBCDIC; kaj eĉ grafikan simbolon ␤ (U+2424) por paroli pri la NovLinio sen kaŭzi ĝian efikon. Tamen fakte ni ne konas programaron kiu laŭe ĝin traktus. Iuj programoj ĝin simple ignoras; aliaj printas ĝin kiel spaceton; triaj plendas pri «malbona unikodaĵo».

## Vidu ankaŭ 
*Askio
* Ĉaretrevenigo
*Liniavanco
*Linio teksta

Kategorio:Stirsignoj