Ritorno a capo

Niente fonti!
Questa voce o sezione sull'argomento terminologia informatica non cita le fonti necessarie o quelle presenti sono insufficienti.

Nel settore informatico, un ritorno a capo, o nuova riga o a capo (in inglese, newline, line break o carattere end-of-line / EOL) è un carattere speciale usato per gestire la fine di una riga di testo (e quindi non un vero e proprio carattere visibile sullo schermo). Il nome deriva dal fatto che il carattere successivo dopo di esso viene visualizzato su una nuova riga. Nel gergo delle macchine da scrivere era definito anche "ritorno di carrello".
Gli attuali codici che rappresentano il ritorno a capo variano tra le piattaforme hardware ed i sistemi operativi; ciò può costituire un problema quando è necessario lo scambio di dati tra sistemi che hanno differenti rappresentazioni di tale carattere speciale.

Rappresentazioni

  • I sistemi basati sul set di caratteri ASCII standard utilizzano sia LF (line feed, 0xA) o CR (carriage return, 0xD).
    • LF: Multics, sistemi Unix e sistemi Unix-like (GNU/Linux, AIX, Xenix, macOS, etc.), BeOS, AmigaOS, RISC OS e altri
    • CR+LF: DEC RT-11 e molti altri non-Unix, non-IBM OSes, CP/M, MP/M, MS-DOS, OS/2, Microsoft Windows
    • CR: Macchine Commodore, famiglia Apple, Mac OS fino alla versione 9 inclusa

Metodi di conversione

È possibile passare con semplicità da una rappresentazione ad un'altra eseguendo alcuni script a riga di comando.

Script per Sed:

sed -e 's/$/\r/' inputfile > outputfile                # UNIX -> DOS  (aggiunge CR)
sed -e 's/\r$//' inputfile > outputfile                # DOS  -> UNIX (rimuove CR)

Script per Perl:

perl -pe 's/\r\n|\n|\r/\r\n/g' inputfile > outputfile   # Converti per DOS 
perl -pe 's/\r\n|\n|\r/\n/g'   inputfile   > outputfile # Converti per UNIX 
perl -pe 's/\r\n|\n|\r/\r/g'   inputfile   > outputfile # Converti per Mac (vecchie versioni)

Automatizzazione dell'implementazione richiesta

Alcuni linguaggi tra cui Java ( documentazione ufficiale, su docs.oracle.com.) e C# permettono di scegliere automaticamente il set di caratteri richiesto dal sistema operativo dinamicamente

Esempio per Java

class HelloReturn {
  public static void main(String[] args) {
    System.out.print(System.lineSeparator());
  }
}
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica