Littéraux et types de caractères Unicode (C++11)

De RAD Studio
Aller à : navigation, rechercher

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.

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 que u'g'. Un littéral multicaractère tel que u'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 que U't'. Un littéral multicaractère tel que U'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 exemple u"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 exemple U"chaîne contenant des caractères d'encodage UTF-32".

Voir aussi