Ce que vous devez savoir sur les chaînes de caractères

JoliCode - JoliCodeBlog - 26/03
Jouer avec les chaînes de caractères est certainement la première chose que l’on fait en tant que développeur. Qui n’a pas commencé sa carrière de dev par un “Hello World” ? Et pourtant, elles sont encore trop mal connues malgré tous les outils que nous possédons. Nous vous proposons

Jouer avec les chaînes de caractères est certainement la première chose que l’on fait en tant que développeur. Qui n’a pas commencé sa carrière de dev par un “Hello World” ? Et pourtant, elles sont encore trop mal connues malgré tous les outils que nous possédons. Nous vous proposons aujourd’hui un récapitulatif de ce qu’est une chaîne de caractères, et des outils fournis par Symfony pour les manipuler.

Section intitulée qu-est-ce-qu-une-chaine-de-caracteresQu’est ce qu’une chaîne de caractères ? 🧐

Tout ce que vous lisez actuellement sont des chaînes de caractères. Tout ce que vous dites et entendez, et bien plus, se traduisent en chaînes de caractères. En revanche, pour l’ordinateur, il ne s’agit que d’une suite de 1 et de 0. Et nous allons nous intéresser à ce qu’il se passe entre les deux.

Section intitulée un-peu-de-vocabulaireUn peu de vocabulaire…

Un glyphe est une représentation visuelle d’un élément d’écriture. Par exemple, a, A, 1 ou µ sont des glyphes, tout comme ~, n, ñ et même les emojis.

Un graphème est un symbole qui ne peut pas être divisé en unité plus petite, comme ~ ou n.

Un groupe de graphèmes rassemble plusieurs graphèmes et peut être vu comme un caractère. Par exemple, ñ est un groupe de graphèmes : c’est l’association de ~ et n.

Au passage, un graphème qui ne peut pas être utilisé seul, comme ~, des accents, ou encore une cédille, est appelé un diacritique (ça ne nous servira à rien ici, mais vous pourrez peut-être briller en société grâce à ça).

Section intitulée et-un-peu-d-histoire…et un peu d’histoire

Au commencement il y avait le binaire. Certains constructeurs décidèrent qu’une certaine séquence de 1 et de 0 signifiait “a”, mais cela n’était vrai que pour ce constructeur. Et comme au début de l’informatique, un document ne quittait pas le système sur lequel il était créé, cela ne posait pas de problème.

En 1961, l’ANSI se réunit et publie deux ans plus tard l’American Standard Code for Information Interchange, le Standard Américain pour l’Échange d’Information, ou ASCII pour les intimes, que nous retrouvons sur la fameuse table ASCII :

Les lettres étaient encodées sur 7 bits, ce qui offrait les 127 combinaisons ci-dessus. Notons qu’il n’y a en réalité que 95 caractères, les autres étant de la ponctuation, ou des caractères de contrôle. Il y en a même un, EM, pour prévenir s’il n’y a plus de bande magnétique !

Fort pratique pour les anglophones, ce choix est moins sympathique pour le reste du monde qui écrit avec de nombreux accents et lettres différentes.

En 1972, les processeurs 8 bits débarquent – merci IBM – et avec eux, la possibilité d’encoder non plus 127 caractères, mais 255 ! Pour rappel, un octet (byte en anglais) est un bloc de 8 bits, et chaque caractère est encodé sur un octet. Et 2 pu...
[Courte citation de 8% de l'article original]

Loading...