Namespaces
Variants

Character sets and encodings

From cppreference.net

Table des matières

Jeu de caractères de base

Le jeu de caractères de base est constitué des 95 caractères suivants :

Point de code Caractère Glyphe
U+0009 Tabulation de caractère
U+000B Tabulation de ligne
U+000C Saut de page (FF)
U+0020 Espace
U+0021 Point d'exclamation !
U+0022 Guillemet "
U+0023 Croisillon #
U+0025 Signe pour cent %
U+0026 Esperluette &
U+0027 Apostrophe '
U+0028 Parenthèse gauche (
U+0029 Parenthèse droite )
U+002A Astérisque *
U+002B Signe plus +
U+002C Virgule ,
U+002D Trait d'union moins -
U+002E Point .
U+002F Barre oblique /
U+0030 .. U+0039 Chiffre zéro .. neuf 0 1 2 3 4 5 6 7 8 9
U+003A Deux-points :
U+003B Point-virgule ;
U+003C Signe inférieur à <
U+003D Signe égal =
U+003E Signe supérieur à >
U+003F Point d'interrogation ?
U+0041 .. U+005A Lettre majuscule latine A .. Z A B C D E F G H I J K L M

N O P Q R S T U V W X Y Z

U+005B Crochet gauche [
U+005C Barre oblique inverse \
U+005D Crochet droit ]
U+005E Accent circonflexe ^
U+005F Trait bas _
U+0061 .. U+007A Lettre minuscule latine a .. z a b c d e f g h i j k l m

n o p q r s t u v w x y z

U+007B Accolade gauche {
U+007C Barre verticale |
U+007D Accolade droite }
U+007E Tilde ~

Contrairement au C++, le caractère U+000A SAUT DE LIGNE (LF) n'est pas inclus dans le jeu de caractères de base. Au lieu de cela, il doit exister un moyen d'indiquer la fin de chaque ligne de texte dans le fichier source et le document traite un tel indicateur de fin de ligne comme s'il s'agissait d'un unique caractère de nouvelle ligne.

Le jeu de caractères de base est également connu sous le nom de basic source character set .

Jeu de caractères d'exécution de base

Le jeu de caractères d'exécution de base contient tous les membres du jeu de caractères de base, plus les caractères suivants :

Unité de code Caractère
U+0000 Nul
U+0007 Sonnerie
U+0008 Retour arrière
U+000A Saut de ligne (LF)
U+000D Retour chariot (CR)

Pour chaque jeu de caractères d'exécution de base, les valeurs des membres doivent être non négatives et distinctes les unes des autres. Dans les jeux de caractères de base source et d'exécution, la valeur de chaque caractère après 0 dans la liste ci-dessus des chiffres décimaux doit être supérieure d'une unité à la valeur du précédent. Le caractère NULL U+0000 a la valeur 0.

La représentation de chaque membre des jeux de caractères d'exécution de base tient dans un octet.

En C++, le jeu de caractères d'exécution de base est également connu sous le nom de jeu de caractères littéraux de base et jeu de caractères larges d'exécution de base .

Encodages des littéraux

L' encodage littéral est un mappage défini par l'implémentation des caractères du jeu de caractères d'exécution vers les valeurs dans une constante de caractère ou un littéral de chaîne sans préfixe d'encodage. Il prend en charge un mappage de toutes les valeurs du jeu de caractères d'exécution de base vers l'encodage défini par l'implémentation. Il peut contenir des séquences de caractères multioctets.

Les caractères suivants ne font pas partie du jeu de caractères d'exécution de base, mais ils doivent être encodés sur un seul octet dans une constante de caractère ordinaire ou un littéral de chaîne ordinaire.

Point de code Caractère Glyphe
U+0024 Dollar Sign $
U+0040 Commercial At @
U+0060 Grave Accent `
(depuis C23)

L' encodage littéral étendu est une correspondance définie par l'implémentation des caractères du jeu de caractères d'exécution vers les valeurs dans une constante de caractère ou un littéral de chaîne préfixé par L . Il prend en charge une correspondance de toutes les valeurs du jeu de caractères d'exécution de base vers l'encodage défini par l'implémentation. Si une implémentation ne définit pas __STDC_MB_MIGHT_NEQ_WC__ , la correspondance produit des valeurs identiques à l'encodage littéral pour toutes les valeurs du jeu de caractères d'exécution de base. Une ou plusieurs valeurs peuvent correspondre à une ou plusieurs valeurs du jeu de caractères d'exécution étendu.

L'encodage UTF-8 est utilisé pour mapper les caractères du jeu de caractères d'exécution vers une u8 -constante de caractère préfixée ou (depuis C23) littéral de chaîne.

Un encodage défini par l'implémentation (jusqu'à C23) L'encodage UTF-16 (depuis C23) est utilisé pour mapper les caractères du jeu de caractères d'exécution vers une u -constante de caractère préfixée ou littéral de chaîne.

Un encodage défini par l'implémentation (jusqu'à C23) L'encodage UTF-32 (depuis C23) est utilisé pour mapper les caractères du jeu de caractères d'exécution vers une U -constante de caractère préfixée ou littéral de chaîne.

(depuis C11)

Voir aussi

Table ASCII
Documentation C++ pour Jeux de caractères et encodages