Clasificación de bytes
Cada una de estas rutinas prueba un byte especificado de un carácter multibyte para ver si cumple una condición. A menos que se especifique lo contrario, el valor de salida se ve afectado por el valor de la categoría LC_CTYPE
de la configuración regional. Para obtener más información, vea setlocale
. Las versiones de estas funciones sin el sufijo _l
usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l
son idénticas salvo que usan el parámetro locale pasado en su lugar.
Nota:
Por definición, los caracteres ASCII entre 0 y 127 son un subconjunto de todos los juegos de caracteres multibyte. Por ejemplo, el juego de caracteres katakana japonés contiene caracteres ASCII y no ASCII.
Las constantes predefinidas de la siguiente tabla se definen en <ctype.h>
.
Rutinas de clasificación de bytes de caracteres multibyte
Routine | Condición de prueba de byte |
---|---|
isleadbyte , _isleadbyte_l |
Byte inicial. El resultado de prueba depende del valor de la categoría LC_CTYPE de la configuración regional actual. |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Igual que _ismbbprint , pero _ismbbgraph no incluye el carácter de espacio (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Símbolo de texto no ASCII que no sea de puntuación. Por ejemplo, en la página de códigos 932 únicamente, _ismbbkalnum prueba si hay caracteres alfanuméricos katakana. |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 - 0xDF), página de códigos 932 únicamente. |
_ismbbkprint , _ismbbkprint_l |
Texto no ASCII o signo de puntuación no ASCII. Por ejemplo, solo en la página de códigos 932, _ismbbkprint comprueba si hay caracteres o signos de puntuación katakana (intervalo: 0xA1 - 0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Puntuación no ASCII. Por ejemplo, en la página de códigos 932 únicamente, _ismbbkpunct prueba si hay signos de puntuación katakana. |
_ismbblead , _ismbblead_l |
Primer byte de un carácter multibyte. Por ejemplo, en la página de códigos 932 únicamente, los intervalos válidos son 0x81 - 0x9F y 0xE0 - 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint incluye el carácter de espacio (0x20). |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Segundo byte de un carácter multibyte. Por ejemplo, en la página de códigos 932 únicamente, los intervalos válidos son 0x40 - 0x7E y 0x80 - 0xEC. |
_ismbslead , _ismbslead_l |
Byte inicial (en contexto de cadena). |
ismbstrail , _ismbstrail_l |
Byte final (en contexto de cadena). |
_mbbtype , _mbbtype_l |
Tipo de valor devuelto del byte, en función del byte anterior. |
_mbsbtype , _mbsbtype_l |
Tipo de valor devuelto del byte de la cadena. |
mbsinit |
Realiza el seguimiento del estado de una conversión de caracteres multibyte. |
La macro MB_LEN_MAX
, definida en <limits.h>
, se expande a la longitud máxima en bytes que puede tener cualquier carácter multibyte. MB_CUR_MAX
, definida en <stdlib.h>
, se expande a la longitud máxima en bytes de cualquier carácter multibyte en la configuración regional actual.