À quoi sert un "\r" ?

À quoi sert un "\r" ?

Messagepar Hexin » ven. janv. 17, 2025 10:27 am

Salut à tous, j'ai une question qui me trotte dans la tête. Je sais que "\n" représente un saut de ligne (newline), mais j'aimerais comprendre l'utilité de "\r". Est-ce que c'est pour "return" ? Et pourquoi voit-on souvent les deux ensemble comme "\r\n" ? Merci d'avance pour vos éclaircissements !

Hexin
 
Messages: 1
Inscription: jeu. oct. 03, 2024 1:33 pm

Re: À quoi sert un "\r" ?

Messagepar Caboux » ven. janv. 17, 2025 2:50 pm

Bonjour,

Effectivement, "\r" signifie "Carriage Return" (retour chariot en français). C'est une référence aux machines à écrire où il fallait ramener le chariot au début de la ligne.


L'utilisation de "\r\n" ensemble vient des différences entre systèmes d'exploitation :




  • Windows utilise "\r\n" pour marquer la fin d'une ligne




  • Linux/Unix utilise seulement "\n"




  • MacOS (avant OS X) utilisait seulement "\r"




C'est pour des raisons historiques et de compatibilité qu'on retrouve parfois les deux.

Caboux
 
Messages: 6
Inscription: mar. oct. 01, 2024 1:58 am

Re: À quoi sert un "\r" ?

Messagepar VersaillesByte » sam. janv. 18, 2025 1:42 am

Pour compléter ce qui a été dit, le "\r" tout seul peut aussi être utilisé pour écraser une ligne. Par exemple dans un terminal, si tu fais un print avec "\r" sans "\n", ton texte suivant va remplacer la ligne actuelle au lieu d'en créer une nouvelle. C'est pratique pour faire des barres de progression qui se mettent à jour sur place.

VersaillesByte
 
Messages: 3
Inscription: lun. janv. 13, 2025 7:59 am

Re: À quoi sert un "\r" ?

Messagepar MaîtreGit » sam. janv. 18, 2025 1:28 pm

moi j'ai tjrs galéré avec ces caractères spéciaux... une fois j'ai passé 3h a debugger un script parce que j'avais des fichiers créés sous windows et traités sous linux lol

MaîtreGit
 
Messages: 4
Inscription: jeu. nov. 28, 2024 11:05 am

Re: À quoi sert un "\r" ?

Messagepar RivieraLoop » sam. janv. 18, 2025 7:01 pm

C'est une référence aux machines à écrire où il fallait ramener le chariot au début de la ligne.

Ça me fait sentir vieux mais je me souviens encore d'avoir utilisé une machine à écrire dans les années 90 ! Le retour chariot était littéralement un levier qu'on actionnait pour ramener la tête d'impression au début et passer à la ligne suivante.


Si ça t'intéresse, c'est amusant de voir comment ces vestiges de technologies anciennes persistent dans notre informatique moderne.

Avatar de l’utilisateur
RivieraLoop
 
Messages: 4
Inscription: jeu. sept. 05, 2024 11:48 pm

Re: À quoi sert un "\r" ?

Messagepar Sarnel » dim. janv. 19, 2025 2:16 am

Attention quand vous manipulez des fichiers texte entre différentes plateformes ! Si vous ouvrez un fichier Unix (avec juste \n) dans le bloc-notes Windows, tout le texte apparaîtra sur une seule ligne. Inversement, un fichier Windows ouvert sous certains éditeurs Unix peut afficher des ^M à la fin de chaque ligne (représentation visuelle du \r).

Pour convertir entre les formats, vous pouvez utiliser des outils comme dos2unix ou unix2dos.

Sarnel
 
Messages: 2
Inscription: dim. janv. 19, 2025 2:01 am

Re: À quoi sert un "\r" ?

Messagepar ParisienNull » dim. janv. 19, 2025 3:35 pm

Je suis pas vraiment un expert mais je crois que "\r\n" c'est aussi un héritage des communications série (RS-232) où on avait besoin des deux pour bien gérer la transmission. Ça remonte aux années 70-80 et Windows a gardé cette convention.

ParisienNull
 
Messages: 5
Inscription: jeu. nov. 14, 2024 11:10 pm

Re: À quoi sert un "\r" ?

Messagepar Zou » lun. janv. 20, 2025 12:18 am

Pour faire simple:
\r = retour au début de la ligne
\n = passage à la ligne suivante

Dans l'idéal, il faudrait les deux pour un comportement optimal (retourner au début ET descendre d'une ligne). Mais comme les autres l'ont dit, par convention, certains OS ont décidé que \n ferait les deux, d'autres que \r\n était nécessaire.


D'ailleurs, en février 2025, Microsoft a annoncé qu'ils allaient finalement standardiser leurs éditeurs de texte pour supporter nativement les fins de ligne Unix (\n) dans la prochaine mise à jour majeure de Windows. Ça n'a pris que 40 ans...

Zou
 
Messages: 5
Inscription: dim. oct. 06, 2024 3:43 am

Re: À quoi sert un "\r" ?

Messagepar MontpellierAI » lun. janv. 20, 2025 7:05 am

D'ailleurs, en février 2025, Microsoft a annoncé qu'ils allaient finalement standardiser leurs éditeurs de texte pour supporter nativement les fins de ligne Unix (\n) dans la prochaine mise à jour majeure de Windows.

C'est une fake news ça, non ? Je n'ai rien vu passer à ce sujet...

MontpellierAI
 
Messages: 5
Inscription: mar. janv. 07, 2025 1:15 pm

Re: À quoi sert un "\r" ?

Messagepar Yques » lun. janv. 20, 2025 1:15 pm

Petite astuce pratique: si vous programmez, la plupart des bons IDE et éditeurs de code détectent et gèrent automatiquement le type de retour à la ligne. Visual Studio Code, par exemple, affiche le type de fin de ligne (CRLF pour \r\n ou LF pour \n) dans la barre d'état en bas et vous permet de changer facilement.

Ça peut vous éviter des maux de tête, surtout si vous travaillez en équipe avec des gens sur différents OS!

Yques
 
Messages: 5
Inscription: jeu. sept. 05, 2024 2:37 pm

Suivant

Revenir à « %s » Informatique et matériel

Qui est en ligne ?

Array

cron