Fin de ligneDans un fichier texte, plusieurs conventions incompatibles existent pour représenter la fin de ligne ou la fin de paragraphe[1]. Les trois conventions principales trouvent leur origine dans des systèmes d’exploitation concurrents.
Quand plusieurs conventions cohabitent dans un même système informatique (ce qui se produit par exemple quand des utilisateurs de systèmes d’exploitation différents s’échangent des fichiers texte), ces différences peuvent entraver le fonctionnement de certains logiciels qui ne savent traiter qu’une seule convention. Cela peut notamment fausser les comptages de lignes, ou rendre malaisée l'édition des lignes dans un éditeur de texte. La fin de ligne est parfois représentée par le caractère « ↲ », un peu comme la fin d'un paragraphe qui est représentée par le pied-de-mouche « ¶ ». Dans certains contextes, notamment celui de la versification, on emploie le caractère « / » pour représenter une fin de ligne.[pertinence contestée] Représentation sous forme d'octet
Les retours à la ligne habituelsMis à 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 : ␍, ␊, .
Retour de chariotLe 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és (PHP, Perl, etc.), CRLFEn 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 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. LFEn 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, 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 UnicodeLe 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]. à évoquer les séparateurs; "Group Separator" (GS 001D base 16) et "Record Separator" (RS 001E base 16) existent depuis ASCII et sont bien sur présents dans Unicode. Autres caractères UnicodeAfin de permettre la saisie de texte évoquant les caractères de fin de ligne, Unicode définit des caractères à cet usage:
Du groupe "Pictogrammes de commande" représentation des vrais caractères de commande informatique:
Notes et référencesVoir aussi |