Classification d’octets
Chacune de ces routines teste un octet spécifié d’un caractère multioctet pour remplir une condition. Sauf indication contraire, la valeur de sortie est affectée par le paramètre du paramètre de LC_CTYPE
catégorie des paramètres régionaux. Pour plus d’informations, consultez setlocale
. Les versions de ces fonctions sans le suffixe _l
utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l
sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis.
Remarque
Par définition, les caractères ASCII compris entre 0 et 127 sont une partie de tous les jeux de caractères multioctets. Par exemple, le jeu de caractères japonais katakana inclut aussi bien des caractères ASCII que non-ASCII.
Les constantes prédéfinies du tableau suivant sont définies dans <ctype.h>
.
Routines de classification d’octets en caractères multioctets
Routine | Condition de test de l’octet |
---|---|
isleadbyte , _isleadbyte_l |
Octet de tête ; le résultat du test dépend du paramètre de catégorie LC_CTYPE des paramètres régionaux actifs |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Identique à _ismbbprint , mais _ismbbgraph n’inclut pas le caractère d’espace (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Symbole de texte non-ASCII autre que les signes de ponctuation. Par exemple, dans la page de codes 932 uniquement, _ismbbkalnum teste la présence de caractères katakana alphanumériques |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 - 0xDF), page de codes 932 uniquement |
_ismbbkprint , _ismbbkprint_l |
Texte non-ASCII ou symbole de ponctuation non-ASCII. Par exemple, dans la page de codes 932 uniquement, _ismbbkprint teste s’il s’agit de katakanas alphanumériques ou de ponctuation katakana (plage : 0xA1 - 0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Ponctuation non-ASCII. Par exemple, dans la page de codes 932 uniquement, _ismbbkpunct teste la présence d'une ponctuation katakana. |
_ismbblead , _ismbblead_l |
Premier octet d’un caractère multioctet. Par exemple, dans la page de codes 932 uniquement, les plages valides sont 0x81 - 0x9F, 0xE0 - 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint inclut le caractère espace (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Deuxième octet de caractère multioctet. Par exemple, dans la page de codes 932 uniquement, les plages valides sont 0x40 - 0x7E, 0x80 - 0xEC. |
_ismbslead , _ismbslead_l |
Octet de tête (dans le contexte de chaîne) |
ismbstrail , _ismbstrail_l |
Octet de fin (dans le contexte de chaîne) |
_mbbtype , _mbbtype_l |
Type d’octet de retour selon l’octet précédent |
_mbsbtype , _mbsbtype_l |
Type de retour d’octet dans la chaîne |
mbsinit |
Suit l’état d’une conversion en caractères multioctets. |
La MB_LEN_MAX
macro, définie dans <limits.h>
, s’étend à la longueur maximale en octets que tout caractère multioctet peut avoir. MB_CUR_MAX
, défini dans <stdlib.h>
, se développe sur la longueur maximale en octets d’un caractère multioctet dans les paramètres régionaux actuels.