Littéraux et types de caractères Unicode (C++11)
Remonter à Fonctionnalités C++11 - Index
C++Builder 2009 implémente les nouveaux littéraux caractère et types de caractères pour Unicode. Ces types appartiennent aux fonctionnalités C++0x ajoutées à C++Builder 2009.
Sommaire
Types de caractères char16_t
et char32_t
Deux nouveaux types représentent les caractères Unicode :
- char16_t est un type de caractère 16 bits. char16_t est un mot clé C++. Ce type peut être utilisé pour les caractères UTF-16.
- char32_t est un type de caractère 32 bits. char32_t est un mot clé C++. Ce type peut être utilisé pour les caractères UTF-32.
Le type wchar_t existant est un type pour un caractère étendu du jeu de caractères étendus d'exécution. Un littéral caractère étendu wchar_t commence par un L majuscule (tel que L'c'
).
Littéraux caractère u'caractère'
et U'caractère'
Il existe deux nouvelles formes pour créer les littéraux caractère des nouveaux types :
u'caractère'
est un littéral pour un caractère char16_t unique, tel queu'g'
. Un littéral multicaractère tel queu'kh'
est mal formé. La valeur d'un littéral char16_t est égale à la valeur de son point de code ISO 10646, à condition que le point de code soit représentable sous la forme d'une valeur 16 bits. Seuls les caractères du plan BMP (Basic Multilingual Plane) peuvent être représentés.U'caractère'
est un littéral pour un caractère char32_t unique, tel queU't'
. Un littéral multicaractère tel queU'de'
est mal formé. La valeur d'un littéral char32_t est égale à la valeur de son point de code ISO 10646.
Les littéraux caractère multioctet étaient auparavant seulement de la forme L'caractères'
, représentant un ou plusieurs caractères du type wchar_t. La valeur d'un littéral caractère étendu unique est l'encodage de ce caractère dans le jeu de caractères étendus d'exécution.
Littéraux chaîne u"chaîne UTF-16"
et U"chaîne UTF-32"
Il existe deux nouvelles formes pour créer des littéraux chaîne des nouveaux types :
u"chaîne UTF-16"
est un littéral chaîne contenant des caractères de type char16_t, par exempleu"chaîne contenant des caractères d'encodage UTF-16"
.
U"chaîne UTF-32"
est un littéral chaîne contenant des caractères de type char32_t, par exempleU"chaîne contenant des caractères d'encodage UTF-32"
.