Classificazione per byte
Ognuna di queste routine verifica una specifico byte di un carattere multibyte per soddisfare una condizione. Se non specificato diversamente, il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE
della categoria delle impostazioni locali. Per ulteriori informazioni, vedere setlocale
. Le versioni di queste funzioni senza il suffisso _l
usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l
sono identiche ma usano il parametro passato relativo alle impostazioni locali.
Nota
Per definizione, i caratteri ASCII tra 0 e 127 sono un sottoinsieme di tutti i caratteri multibyte. Ad esempio, il set di caratteri giapponese katakana comprende caratteri ASCII e non ASCII.
Le costanti predefinite nella tabella seguente sono definite in <ctype.h>
.
Routine di classificazione per byte di caratteri multibyte
Ciclo | Condizione di test di byte |
---|---|
isleadbyte , _isleadbyte_l |
Byte di apertura; il risultato del test dipende dall'impostazione di categoria LC_CTYPE delle impostazioni locali correnti |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Uguale a _ismbbprint , ma _ismbbgraph non include il carattere spazio (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Simbolo di testo non ASCII e non di punteggiatura. Ad esempio, solo nella tabella codici 932, _ismbbkalnum esegue il test per caratteri alfanumerici Katakana |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 - 0xDF), solo tabella codici 932 |
_ismbbkprint , _ismbbkprint_l |
Testo non ASCII o simbolo di punteggiatura non ASCII. Ad esempio, solo nella tabella codici 932, _ismbbkprint esegue il test per i caratteri alfanumerici o la punteggiatura Katakana (intervallo: 0xA1 - 0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Punteggiatura non ASCII. Ad esempio, solo nella tabella codici 932, _ismbbkpunct verifica la punteggiatura Katakana. |
_ismbblead , _ismbblead_l |
Primo byte di un carattere multibyte. Ad esempio, solo nella tabella codici 932, gli intervalli validi sono compresi tra 0x81 e 0x9F e tra 0xE0 e 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint include il carattere di spazio (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Secondo byte di un carattere multibyte. Ad esempio, solo nella tabella codici 932, gli intervalli validi sono compresi tra 0x40 e 0x7E e tra 0x80 e 0xEC. |
_ismbslead , _ismbslead_l |
Byte di apertura (nel contesto della stringa) |
ismbstrail , _ismbstrail_l |
Byte di chiusura (nel contesto della stringa) |
_mbbtype , _mbbtype_l |
Tipo di byte restituito basato sul byte precedente |
_mbsbtype , _mbsbtype_l |
Tipo restituito di byte all'interno della stringa |
mbsinit |
Tiene traccia dello stato di una conversione di caratteri multibyte. |
La MB_LEN_MAX
macro, definita in <limits.h>
, si espande fino alla lunghezza massima in byte che qualsiasi carattere multibyte può avere. MB_CUR_MAX
, definito in <stdlib.h>
, si espande fino alla lunghezza massima in byte di qualsiasi carattere multibyte nelle impostazioni locali correnti.