Klasyfikacja bajtów
Każda z tych procedur testuje określony bajt znaku wielobajtowego w celu zaspokojenia warunku. Z wyjątkiem sytuacji, w której określono inaczej, wartość wyjściowa ma wpływ na ustawienie LC_CTYPE
ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale
. Wersje tych funkcji bez sufiksu _l
używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l
sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast.
Uwaga
Z definicji znaki ASCII z zakresu od 0 do 127 są podzbiorem wszystkich zestawów znaków wielobajtowych. Na przykład japoński zestaw znaków katakana zawiera znaki ASCII, a także znaki inne niż ASCII.
Wstępnie zdefiniowane stałe w poniższej tabeli są zdefiniowane w pliku <ctype.h>
.
Procedury klasyfikacji bajtów wielobajtowych
Procedura | Warunek testu bajtowego |
---|---|
isleadbyte , _isleadbyte_l |
Bajt ołowiu; wynik testu zależy od LC_CTYPE ustawienia kategorii bieżących ustawień regionalnych |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Taki sam jak _ismbbprint , ale _ismbbgraph nie zawiera znaku spacji (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Symbol tekstowy inny niż znak interpunkcyjny ASCII. Na przykład na stronie kodu 932 tylko _ismbbkalnum testy dla katakana alfanumeryczne |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 — 0xDF), tylko strona kodowa 932 |
_ismbbkprint , _ismbbkprint_l |
Tekst inny niż ASCII lub symbol interpunkcyjny ASCII. Na przykład na stronie kodowej 932 testuje tylko _ismbbkprint znaki interpunkcyjne katakana lub katakana (zakres: 0xA1 — 0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Interpunkcja nie-ASCII. Na przykład na stronie kodowej 932 tylko _ismbbkpunct testy pod kątem interpunkcji katakana. |
_ismbblead , _ismbblead_l |
Pierwszy bajt znaku wielobajtowego. Na przykład tylko na stronie kodu 932 prawidłowe zakresy są 0x81 — 0x9F, 0xE0 — 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint zawiera znak spacji (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Drugi bajt znaku wielobajtowego. Na przykład na stronie kodowej 932 prawidłowe zakresy są 0x40 — 0x7E, 0x80 — 0xEC. |
_ismbslead , _ismbslead_l |
Bajt potencjalnych klientów (w kontekście ciągu) |
ismbstrail , _ismbstrail_l |
Bajt końcowy (w kontekście ciągu) |
_mbbtype , _mbbtype_l |
Zwracanie typu bajtu na podstawie poprzedniego bajtu |
_mbsbtype , _mbsbtype_l |
Zwracanie typu bajtu w ciągu |
mbsinit |
Śledzi stan konwersji znaków wielobajtowych. |
Makro MB_LEN_MAX
zdefiniowane w <limits.h>
pliku rozszerza się do maksymalnej długości w bajtach, które mogą mieć dowolny znak wielobajtowy. MB_CUR_MAX
, zdefiniowany w <stdlib.h>
pliku , rozszerza maksymalną długość w bajtach dowolnego znaku wielobajtowego w bieżących ustawieniach regionalnych.
Zobacz też
Procedury czasu wykonywania języka Universal C według kategorii