JavaScript - Unicode: A Guide for Beginners

Bonjour là-bas, futurs codeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant à travers le monde de l'Unicode en JavaScript. Ne vous inquiétez pas si vous êtes nouveaux dans la programmation - je serai votre guide amical, et nous avancerons pas à pas. Alors, prenez une tasse de café (ou de thé, si c'est votre truc), et plongeons dedans !

JavaScript - Unicode

Qu'est-ce que l'Unicode ?

Imaginez que vous essayez d'écrire une lettre à votre correspondant en Chine, mais que votre clavier n'a que des lettres anglaises. Frustrant, n'est-ce pas ? C'est là que l'Unicode intervient pour nous aider !

L'Unicode est comme un dictionnaire magique qui attribue un numéro unique (appelé un "point de code") à chaque caractère de chaque système d'écriture dans le monde. Ce n'est pas seulement à propos de lettres et de chiffres - il inclut des symboles, des emojis et même des scripts anciens !

Par exemple, la lettre 'A' a le point de code Unicode U+0041, tandis que le caractère chinois '中' (qui signifie "milieu") a le point de code U+4E2D.

L'intuition derrière l'Unicode

Pensez à l'Unicode comme une langue universelle pour les ordinateurs. Avant l'Unicode, différentes régions du monde utilisaient différents systèmes d'encodage, ce qui entraînait beaucoup de confusion et de problèmes de compatibilité. C'était comme avoir une tour de Babel dans le monde numérique !

L'Unicode a résolu cela en créant un système standardisé qui peut représenter des caractères de tous les systèmes d'écriture. C'est comme donner à chaque caractère de chaque langue une carte d'identité unique que les ordinateurs du monde entier peuvent reconnaître.

L'Unicode en JavaScript

Maintenant, voyons comment JavaScript gère l'Unicode. JavaScript utilise l'encodage UTF-16, ce qui signifie qu'il peut directement représenter les premiers 65 536 caractères Unicode (également connus sous le nom de Plan de caractères multilingues ou BMP).

Voici un petit tableau des méthodes que JavaScript propose pour travailler avec l'Unicode :

Méthode Description
String.fromCharCode() Crée une chaîne à partir de valeurs Unicode
String.fromCodePoint() Crée une chaîne à partir de points de code
charCodeAt() Retourne la valeur Unicode d'un caractère
codePointAt() Retourne le point de code d'un caractère

Voyons quelques exemples pour voir ces méthodes en action !

Exemples

1. Créer une chaîne à partir de valeurs Unicode

let heart = String.fromCharCode(9829);
console.log(heart); // ♥

Dans cet exemple, nous utilisons String.fromCharCode() pour créer un symbole de cœur. Le nombre 9829 est la valeur Unicode pour le cœur de pique noir (♥). C'est comme dire à JavaScript : "Hé, donne-moi le caractère qui a le numéro de carte d'identité 9829 !"

2. Obtenir la valeur Unicode d'un caractère

let str = "Hello, 世界!";
console.log(str.charCodeAt(7)); // 19990

Ici, nous utilisons charCodeAt() pour obtenir la valeur Unicode du caractère à l'index 7 de notre chaîne (qui est '世'). C'est comme demander : "Quel est le numéro de carte d'identité du 8e caractère dans cette chaîne ?"

3. Travailler avec des caractères en dehors du BMP

let emoji = "?";
console.log(emoji.codePointAt(0)); // 128640
console.log(String.fromCodePoint(128640)); // ?

Pour les caractères en dehors du Plan de caractères multilingues (comme beaucoup d'emojis), nous devons utiliser codePointAt() et String.fromCodePoint(). Dans cet exemple, nous travaillons avec l'emoji du fusée. C'est comme traiter un caractère spécial qui a un numéro de carte d'identité très élevé !

4. Compter les caractères correctement

let text = "? Rainbow";
console.log(text.length); // 9
console.log([...text].length); // 8

C'est une subtilité ! JavaScript traite les caractères en dehors du BMP comme deux caractères. Ainsi, l'emoji arc-en-ciel (?) est compté comme deux caractères. Si nous voulons le compter comme un, nous pouvons utiliser l'opérateur de diffusion (...) pour diviser la chaîne en un tableau de caractères.

5. Séquences d'échappement Unicode

console.log("\u{1F600}"); // ?
console.log("\u{1F64B}\u{200D}\u{2640}\u{FE0F}"); // ?‍♀️

Les séquences d'échappement Unicode nous permettent de représenter des caractères Unicode dans notre code. C'est comme écrire le numéro de carte d'identité au lieu du caractère réel. La syntaxe \u{...} est utilisée pour tous les points de code Unicode.

Conclusion

Et voilà, les amis ! Nous avons fait un tour d'horizon de l'Unicode en JavaScript. De la compréhension de ce qu'est l'Unicode, à la manière dont JavaScript le gère, en passant par des exemples amusants - j'espère que vous avez apprécié ce voyage autant que moi.

N'oubliez pas, l'Unicode est ce qui nous permet d'écrire des logiciels utilisables par des personnes du monde entier, dans n'importe quelle langue. C'est un bel exemple de la manière dont la technologie peut nous rapprocher et briser les barrières.

Alors que vous continuez votre voyage de programmation, continuez à explorer et à expérimenter avec l'Unicode. Essayez d'écrire des messages dans différentes langues, ou amusez-vous avec des emojis dans votre code. Le monde de la programmation est immense et passionnant, et l'Unicode est votre passeport à la communication mondiale !

Bonne programmation, et jusqu'à la prochaine fois - que votre code soit exempt de bugs et que votre café soit fort ! ?☕

Credits: Image by storyset