Udostępnij za pośrednictwem


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