Quali sono le differenze tra ritorno a capo, avanzamento riga e nuova riga? Dipende dal sistema operativo? Perché abbiamo bisogno di usarli tutti solo per arrivare alla riga successiva?Ritorno a capo, avanzamento riga e nuova riga
risposta
Generalmente, una "nuova linea" si riferisce a qualsiasi insieme di caratteri che viene comunemente interpretato come segnalazione di una nuova linea, che possono includere:
- CR LF su DOS/Windows
- CR su vecchi Mac
- LF su varianti di Unix, tra cui Mac moderno
CR è il carattere ASCII Carriage Return (Codice 0x0D), in genere rappresentato come \ r. LF è il carattere di avanzamento riga (codice 0x0A), solitamente rappresentato come \ n.
I computer con macchine da scrivere originali avevano bisogno di entrambi questi caratteri, che fanno esattamente quello che dicono: CR riportava il carrello sul lato sinistro del foglio, LF lo passava attraverso una riga. Windows ha mantenuto questa sequenza non modificata, mentre le varianti Unix hanno optato per un uso più efficiente dei caratteri una volta che erano necessari solo simbolicamente.
Assicurati di cercare un nuovo simbolo o funzione di linea indipendente dalla piattaforma se devi rappresentare questa sequenza nel codice. In caso contrario, assicurati di tenere conto delle tre varianti precedenti.
Altro sulla storia: http://www.codinghorror.com/blog/2010/01/the-great-newline-schism.html