Klasifikace bajtů
Každá z těchto rutin testuje zadaný bajt vícebajtového znaku pro spokojenost podmínky. Pokud není zadáno jinak, je výstupní hodnota ovlivněna nastavením LC_CTYPE
nastavení kategorie národního prostředí. Další informace najdete na webu setlocale
. Verze těchto funkcí bez _l
přípony používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s _l
příponou jsou shodné s tím rozdílem, že místo toho používají předaný parametr národního prostředí.
Poznámka:
Podle definice jsou znaky ASCII mezi 0 a 127 podmnožinou všech vícebajtových znakových sad. Například japonská znaková sada katakana obsahuje ASCII i jiné znaky než ASCII.
Předdefinované konstanty v následující tabulce jsou definovány v <ctype.h>
.
Vícebajtové bajtové klasifikační rutiny
Rutina | Podmínka testu bajtů |
---|---|
isleadbyte , _isleadbyte_l |
Bajt olovo; Výsledek testu závisí na LC_CTYPE nastavení kategorie aktuálního národního prostředí. |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Stejné jako _ismbbprint znak _ismbbgraph mezery (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Jiný než interpunkční znak bez ASCII. Například pouze na znakové stránce 932 otestuje _ismbbkalnum katakana alfanumerické znaky. |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 - 0xDF), pouze znaková stránka 932 |
_ismbbkprint , _ismbbkprint_l |
Text jiné než ASCII nebo jiný než ASCII interpunkční symbol Například pouze _ismbbkprint na znakové stránce 932 testuje katakana alfanumerické znaky nebo interpunkci katakany (rozsah: 0xA1 – 0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Interpunkce bez ASCII Například pouze _ismbbkpunct na znakové stránce 932 otestuje interpunkci katakana. |
_ismbblead , _ismbblead_l |
První bajt vícebajtového znaku. Například pouze na znakové stránce 932 jsou platné rozsahy 0x81 – 0x9F, 0xE0 – 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint obsahuje znak mezery (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Druhý bajt vícebajtového znaku. Například pouze na znakové stránce 932 jsou platné rozsahy 0x40 – 0x7E, 0x80 – 0xEC. |
_ismbslead , _ismbslead_l |
Bajt zájemce (v kontextu řetězce) |
ismbstrail , _ismbstrail_l |
Bajt na konci (v kontextu řetězce) |
_mbbtype , _mbbtype_l |
Návrat typu bajtu na základě předchozího bajtu |
_mbsbtype , _mbsbtype_l |
Návratový typ bajtu v řetězci |
mbsinit |
Sleduje stav převodu vícebajtových znaků. |
Makro MB_LEN_MAX
definované v <limits.h>
souboru se rozšíří na maximální délku v bajtech, které může mít libovolný vícebajtový znak. MB_CUR_MAX
, definovaný v <stdlib.h>
, rozšiřuje maximální délku v bajtech libovolného vícebajtového znaku v aktuálním národním prostředí.