Классификация байтов
Каждая из этих подпрограмм проверяет указанный байт многобайтового символа на соответствие условию. За исключением указанных в противном случае выходных значений влияет параметр LC_CTYPE
параметра категории языкового стандарта. Дополнительные сведения см. в разделе setlocale
. Версии этих функций без суффикса _l
используют текущий языковой стандарт для данного поведения, зависимого от языкового стандарта. Версии с суффиксом _l
идентичны, однако они используют переданный параметр языкового стандарта.
Примечание.
По определению символы между 0 и 127 кодировки ASCII являются подмножеством всех многобайтовых кодировок. Например, японская кодировка катакана содержит как символы ASCII, так и другие символы.
Предопределенные константы в следующей таблице определены в <ctype.h>
.
Подпрограммы классификации байтов многобайтовых символов
Маршрут | Условие проверки байта |
---|---|
isleadbyte , _isleadbyte_l |
Старший байт; результат теста зависит от значения категории LC_CTYPE текущего языкового стандарта |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
То же самое, что _ismbbprint _ismbbgraph и символ пробела (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Не входящий в набор ASCII текстовый символ, отличный от знака препинания. Например, только для кодовой страницы 932, функция _ismbbkalnum проверяет на принадлежность к алфавитно-цифровым символам катаканы |
_ismbbkana , _ismbbkana_l |
Катакана (0xA1–0xDF), только для кодовой страницы 932 |
_ismbbkprint , _ismbbkprint_l |
Не входящие в набор ASCII текстовые и пунктуационные символы. Например, только для кодовой страницы 932, _ismbbkprint проверяет на принадлежность к алфавитно-цифровым или пунктуационным символам катаканы (диапазон: 0xA1–0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Не входящий в набор ASCII знак препинания. Например, только для кодовой страницы 932, _ismbbkpunct проверяет на принадлежность к пунктуационным символам катаканы. |
_ismbblead , _ismbblead_l |
Первый байт многобайтового символа. Например, только для кодовой страницы 932, допустимые диапазоны: 0x81–0x9F, 0xE0–0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint содержит символ пробела (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Второй байт многобайтового символа. Например, только для кодовой страницы 932, допустимые диапазоны: 0x40–0x7E, 0x80–0xEC. |
_ismbslead , _ismbslead_l |
Старший байт (в контексте строк) |
ismbstrail , _ismbstrail_l |
Младший байт (в контексте строк) |
_mbbtype , _mbbtype_l |
Возвращает тип байта, основываясь на предыдущем байте |
_mbsbtype , _mbsbtype_l |
Возвращает тип байта в строке |
mbsinit |
Отслеживает состояние преобразования многобайтового символа. |
Макрос MB_LEN_MAX
, определенный в <limits.h>
, расширяется до максимальной длины в байтах, которые может иметь любой многобайтовый символ. MB_CUR_MAX
, определенный в <stdlib.h>
, расширяется до максимальной длины в байтах любого многобайтового символа в текущем языковом стандарте.