Les caractères spéciaux

Objectif

  • Comprendre la spécificité des caractères spéciaux et leur utilisation.

Mise en situation

Comment afficher la chaîne de caractères c'est l'été ?

L'affichage de chaîne est une opération simple qui peut se complexifier dès que l'on souhaite afficher des caractères particuliers comme les apostrophes, les guillemets, les tabulations ou les antislash.

DéfinitionLes caractères spéciaux

Certains caractères ont une signification particulière, lorsque le compilateur en rencontre un, il effectue un traitement particulier, c'est le cas des guillemets simples ou doubles qui sont considérés comme le début et la fin d'une chaîne de caractères.

ExempleErreur : afficher une chaîne contenant des apostrophes

1
"""Python."""
2
str1 = 'c'est l'été'
3
print(str1)
1
/** JavaScript */
2
const srt1 = 'c'est l'été'
3
console.log(str1)

Ces deux programmes ne fonctionnent pas parce que l'interpréteur considère qu'il y a deux chaînes et des caractères entre les deux, et donc qu'il y a une erreur de syntaxe.

Solution

Il existe deux façon de résoudre ce problème.

  1. Il est possible de placer la chaîne entre guillemets doubles, les apostrophes ne seront donc pas considérées comme des délimiteurs de chaîne. Cependant, cela ne permet pas de résoudre le problème si on veut une chaîne contenant à la fois des guillemets simples et des guillemets doubles.

  2. L'autre méthode est donc de signaler qu'on veut insérer un caractère spécial en plaçant un antislash avant.

Exemple

1
"""Python."""
2
message = 'c\'est l\'été'
3
print(message)
4
message = "c'est l'été"
5
print(message)
6
1
/** JavaScript */
2
let message = 'c\'est l\'été'
3
console.log(message)
4
message = "c'est l'été" 
5
console.log(message)

Les deux programmes affichent c'est l'été.

AttentionAfficher le caractère antislash 

Pour afficher le caractère antislash il faut indiquer au compilateur qu'il ne s'agit pas d'un caractère spécial. Il faut donc le précéder d'un antislash : \\.

SyntaxeLes caractères spéciaux de mise en page

Pour demander au compilateur d'aller à la ligne on utilise \n, pour demander à faire une tabulation on utilise \t.

Il existe beaucoup d'autres caractères spéciaux de ce types, mais ceux-là sont les plus utilisés.

RappelEncodage des caractères

Étant donné que les ordinateurs ne peuvent comprendre que le langage binaire chaque caractère doit être associé à un nombre binaire particulier. Au début de l'informatique des américains ont créé le code ASCII (American Standard Code for Information Interchange) qui permet d'écrire n'importe quel texte en anglais.

Cependant, cet encodage ne permet pas d'écrire certains caractères d'autres langues (par exemple les caractères accentués français). Plusieurs autres encodages ont donc été créés et aujourd'hui l'encodage UTF-8, qui permet d'écrire presque la totalité des caractères utilisés dans le monde, est le plus répandu.

ComplémentTous les caractères spéciaux en JavaScript

  • \0 Octet null

  • \b Retour arrière

  • \f Saut de page

  • \n Nouvelle ligne

  • \r Retour chariot

  • \t Tabulation

  • \v Tabulation verticale

  • \' Apostrophe ou guillemet droit simple

  • \" Guillemet droit double

  • \\ Barre oblique inversée

À retenir

Certains caractères sont considérés comme spéciaux et associés à une fonction particulière. Pour les utiliser dans un autre contexte, par exemple pour les afficher il faut indiquer au compilateur que le caractère en question n'est pas spécial, il faut donc placer un antislash avant.