Поделиться через


Классификация байтов

Каждая из этих подпрограмм проверяет указанный байт многобайтового символа на соответствие условию. За исключением указанных в противном случае выходных значений влияет параметр 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>, расширяется до максимальной длины в байтах любого многобайтового символа в текущем языковом стандарте.

См. также

Универсальные подпрограммы среды выполнения C по категориям