\r\n, \r και \n ποια είναι η διαφορά μεταξύ τους;

Θέλω να ρωτήσω για τη διαφορά σε μια συμβολοσειρά μεταξύ \r\n, \r και \n. Πώς επηρεάζεται μια συμβολοσειρά από το καθένα;

Πρέπει να αντικαταστήσω τις εμφανίσεις των \r\n και \r με \n αλλά δεν μπορώ να καταλάβω πώς διαφέρουν σε μια συμβολοσειρά...

Ξέρω ότι το \r είναι σαν να πατάς enter και το \n είναι για μια νέα γραμμή.

  • \r = CR (Carriage Return) → Χρησιμοποιείται ως χαρακτήρας νέας γραμμής στο Mac OS πριν το X
  • `\n = LF (Line Feed) → Χρησιμοποιείται ως χαρακτήρας νέας γραμμής στο Unix/Mac OS X
  • `r\n = CR + LF → Χρησιμοποιείται ως χαρακτήρας νέας γραμμής στα Windows
Σχόλια (11)

Και τα 3 αντιπροσωπεύουν το τέλος μιας γραμμής. Αλλά...

  • \r (Carriage Return) → μετακινεί το δρομέα στην αρχή της γραμμής χωρίς να προχωράει στην επόμενη γραμμή.
  • `\n (Line Feed) → μετακινεί τον κέρσορα στην επόμενη γραμμή χωρίς να επιστρέφει στην αρχή της γραμμής — Σε περιβάλλον *nix το \n μετακινείται στην αρχή της γραμμής.
  • `r\n (Τέλος γραμμής) → συνδυασμός των \r και \n.
Σχόλια (1)

Η επιστροφή καροτσάκι (\r) κάνει το δρομέα να μεταπηδήσει στην πρώτη στήλη (αρχή της γραμμής), ενώ η νέα γραμμή (\n) μεταπηδά στην επόμενη γραμμή και τελικά στην αρχή αυτής της γραμμής. Έτσι, για να είναι κανείς σίγουρος ότι θα βρεθεί στην πρώτη θέση μέσα στην επόμενη γραμμή χρησιμοποιεί και τα δύο.

Σχόλια (1)