Vidéo: Langage C #13 - chaînes de caractères 2024
La variable char standard en C ++ est limitée à 1 octet et ne peut gérer que 255 caractères différents. C'est assez pour les langues européennes mais pas assez pour gérer des langages basés sur des symboles tels que le kanji.
Plusieurs normes ont été élaborées pour étendre le jeu de caractères afin de répondre aux exigences de ces langues. UTF-8 utilise un mélange de caractères de 8, 16 et 32 bits pour implémenter presque tous les kanji ou hiéroglyphes auxquels vous pouvez penser tout en restant compatible avec le simple ASCII 8 bits. UTF-16 utilise un mélange de caractères 16 et 32 bits pour obtenir un jeu de caractères étendu, et UTF-32 utilise 32 bits pour tous les caractères.
UTF signifie Unicode Transformation Format, d'où provient le pseudonyme Unicode.
Le tableau décrit les différents types de caractères supportés par C ++. Au début, C ++ a essayé de se débrouiller avec un type de caractère large vaguement défini, wchar_t. Ce type devait être le type de caractère large natif de l'environnement du programme d'application. C ++ '11 a introduit des types spécifiques pour UTF-16 et UTF-32.
Variable | Exemple | Ce que c'est | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
char | 'c' | Caractères ASCII ou UTF-8 | wchar_t | L'c ' | Caractère en format large | caractère char_16t | u'c' | Caractère UTF-16 | char_32t | U'c ' | Caractère UTF-32 |
UTF-16 est l'encodage standard pour les applications Windows. Le type wchar_t fait référence à UTF-16 dans le compilateur Code:: Blocs / gcc.
N'importe lequel des types de caractères de la table peut aussi être combiné en chaînes:
wchar_t * wideString = L "c'est une chaîne large";