L'encodage du code source C est un sujet aux multiples facettes. Explorons les nuances de la gestion des caractères.
Chaque compilateur C doit prendre en charge les caractères du jeu de caractères source de base. Ceux-ci incluent des caractères courants tels que des lettres, des chiffres et des signes de ponctuation. De plus, les compilateurs prennent en charge l'expression de caractères non inclus dans cet ensemble à l'aide de noms de caractères universels (par exemple, uffff, Uffffffff).
Le mappage entre les caractères du fichier source et les caractères sources internes utilisés au moment de la compilation est défini par l'implémentation. Cette cartographie constitue le codage utilisé. Selon la norme C 98 :
Physical source file characters are mapped, in an implementation-defined manner, to the basic source character set (introducing new-line characters for end-of-line indicators) if necessary. Any source file character not in the basic source character set is replaced by the universal-character-name that designates that character.
GCC permet de personnaliser le jeu de caractères d'entrée à l'aide de l'option -finput-charset=charset. De même, le jeu de caractères utilisé au moment de l'exécution peut être modifié en utilisant -fexec-charset=charset pour char (par défaut UTF-8) et -fwide-exec-charset=charset pour wchar_t (par défaut UTF-16 ou UTF-32, selon sur sa taille).
Les caractères non-ASCII, tels que les caractères chinois, peuvent être utilisés dans les commentaires et les chaînes. Par exemple, le code suivant est valide :
<code class="cpp">// Comment containing Chinese character: 中 wstring str = L"Strange chars: â Țđ ě €€";</code>
Le jeu de caractères Unicode complet est pris en charge, permettant l'expression d'une large gamme de caractères dans le code source.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!