- Fin de ligne
-
Dans un fichier texte, plusieurs conventions non compatibles existent pour représenter la fin de ligne ou la fin de paragraphe[1]. Ces différentes conventions ont pour origines les différences des systèmes informatiques, notamment : Mac, Dos/Windows, Unix/Linux.
Ces différences – notamment lorsqu'elles cohabitent dans un même système informatique (en particulier quand les fichiers sont échangés par transfert ftp avec la mauvaise option, par exemple) – peuvent poser des problèmes d'utilisation avec certains logiciels, cela peut notamment empêcher de compter les lignes de manière uniforme, ou rendre mal aisée l'édition des lignes dans un éditeur texte.
Sommaire
Représentation sous forme d'octet
Différents codages sont utilisés pour marquer les retours à la ligne[1]
Caractère Unicode ASCII EBCDIC* CR 000D 0D 0D 0D LF 000A 0A 25 15 CRLF 000D,000A 0D,0A 0D,25 0D,15 NEL* 0085 85 15 25 VT 000B 0B 0B 0B FF 000C 0C 0C 0C LS 2028 n/a n/a n/a PS 2029 n/a n/a n/a Les retours à la ligne habituels
Mis à part les nouvelles fonctionnalités d'unicode, et les spécificités d’EBCDIC, les caractères utilisés pour marquer les nouvelles ligne peuvent se noter par : ␍, ␊, .
- ␍ : « Carriage Return » (Retour chariot) ;
- ␊ : « Line Feed » ;
-  : « New Line ».
Retour chariot
Article détaillé : Retour chariot.Le retour chariot désigne originellement le mécanisme physique permettant, sur une machine à écrire, au chariot de revenir en butée à gauche (soit, du point de vue de l'écrivain, de revenir au début de la ligne).
En informatique, le retour chariot (Carriage return ou CR) est l'un des caractères de contrôle des normes de codage de caractère ASCII et EBCDIC.
Sur le système d'exploitation Mac OS (avant Mac OS X), le retour chariot marque la fin d'un paragraphe.
En ASCII, CR est indexé comme le caractère 13 en notation décimale et 0D en notation hexadécimale.
En langage C, ainsi que dans beaucoup d'autres langages qu'il a influencé (PHP, Perl, etc.),
\r
dénote ce caractère.CRLF
Article détaillé : CRLF.En informatique, CRLF, acronyme de Carriage Return Line Feed, est un caractère spécial ou une séquence de caractères qui indique la fin de la ligne d'un texte. Il est parfois appelé retour chariot par analogie au retour physique du chariot qui, sur les machines à écrire classiques ainsi que sur les consoles des premiers ordinateurs, faisait suite à une fin de ligne.
CRLF n'est donc pas un caractère ASCII mais l'association de 2 caractères ASCII, le caractère 13 suivi du caractère 10. Il est souvent représenté par
\r\n
.\r
correspond à CR (Return) et\n
correspond à LF (Line Feed).Le CRLF est surtout utilisé sous Windows, mais d'autres systèmes d'exploitation le reconnaissent. Cependant, certains logiciels ont des standards qui les empêchent de reconnaître le CRLF. Il existe des programmes qui convertissent le CRLF en un autre caractère de contrôle équivalent.
LF
Article détaillé : Saut de ligne.En informatique, le saut de ligne (LF, line feed) est un caractère de contrôle indiquant qu'une ligne devrait être sautée. Son code ASCII est 10 (0A en hexadécimal). Le saut de ligne était à l'origine une commande d'imprimante utilisée conjointement avec le retour chariot (CR). Après l'exécution d'un CRLF, la tête d'impression revient complètement à gauche et saute une ligne, prête à commencer une nouvelle ligne de texte.
CRLF a par la suite été adopté comme la fin de ligne standard pour les communications réseau, un choix qui, rétrospectivement, est généralement considéré comme une erreur. Cependant, cet usage a été maintenu sous MS-DOS et son descendant Microsoft Windows et ne disparaîtra donc pas dans un futur proche. On trouve donc dans les fichiers textes Windows, en hexadécimal, la chaine 0D0A.
Sous Unix, un saut de ligne est plus communément appelé une nouvelle ligne : sur un système d'exploitation basé sur Unix, un saut de ligne est interprété comme une instruction ayant le même effet sur un terminal que CRLF l'a sur une imprimante. Il n'a pas été jugé nécessaire d'afficher des caractères d'impression sur l'ordinateur. Le langage de programmation C, tirant ses origines d'Unix, reflète cet usage : en C,
\n
est le caractère d'échappement pour une nouvelle ligne.Apple a aussi simplifié le CRLF sur ses systèmes d'exploitation en utilisant plutôt CR sans LF. Les systèmes d'exploitation d'Apple ont continué d'utiliser le retour chariot comme fin de ligne jusqu'à Mac OS X, qui est en partie basé sur Unix.
Les séparateurs Unicode
Le standard Unicode Standard définit deux séparateurs de caractères non ambigus : le séparateur de paragraphes (PS = 2029 base 16) et le séparateur de ligne (LS = 2028 base 16). Dans du texte Unicode, les caractères PS et LS doivent être utilisés lorsque l'ambiguïté doit être évitée. Dans les autres cas, Unicode définit les traitements à associer à CR, LF, et CRLF[1].
Par ailleurs, Unicode définit certaines propriétés relatives au découpage automatique du texte sur différentes lignes[2].
Notes et références
Voir aussi
Catégories :- Codage du texte
- Typographie
Wikimedia Foundation. 2010.