Fin de ligne

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Crystal Clear app fonts.svg Cette page contient des caractères spéciaux. Si certains caractères de cet article s’affichent mal (carrés vides, points d’interrogation, etc.), consultez la page d’aide Unicode.

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.

La fin de ligne est parfois représentée par le caractère « ↲ », un peu comme la fin d'un paragraphe est représentée par le caractère « ¶ ». Dans certains contextes, notamment celui de la versification, on emploi le caractère « / » pour représenter une fin de ligne.

Représentation sous forme d'octet[modifier | modifier le code]

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[modifier | modifier le code]

Mis à part les nouvelles fonctionnalités d'unicode, et les spécificités d’EBCDIC, les caractères utilisés pour marquer les nouvelles lignes peuvent se noter par : ␍, ␊, ␤.

  • ␍ : « Carriage Return » (Retour de chariot) ;
  • ␊ : « Line Feed » ;
  • ␤ : « New Line ».

Retour de chariot[modifier | modifier le code]

Article détaillé : Retour chariot.

Le retour de chariot désigne 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, il existe un caractère de contrôle (au moins en ASCII et EBCDIC) retour de chariot (abrégé CR pour l'anglais Carriage return).

Sur le système d'exploitation Mac OS (avant Mac OS X), le caractère retour de 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[modifier | modifier le code]

Article détaillé : CRLF.

En informatique, CRLF, abréviation de Carriage Return Line Feed, est une séquence de caractères qui indique la fin de la ligne d'un texte dans les systèmes DOS/Windows.

En ASCII, c'est le caractère 13 suivi du caractère 10. En C et autres, il sera représenté par \r\n. \r correspond à CR (Carriage 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[modifier | modifier le code]

Article détaillé : Saut de ligne.

En informatique, le saut de ligne (LF, line feed) est un caractère de contrôle indiquant le passage à la ligne de texte suivante. 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[réf. souhaitée]. 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[modifier | modifier le code]

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[modifier | modifier le code]

  1. a, b et c UAX #13: Unicode Newline Guidelines
  2. UAX #14: Line Breaking Properties

Voir aussi[modifier | modifier le code]