Classificação de byte

Todas essas rotinas testam um byte especificado de um caractere multibyte para satisfação de uma condição. Salvo quando especificado, o valor de saída é afetado pela configuração da categoria LC_CTYPE da localidade. Para obter mais informações, consulte setlocale. As versões dessas funções sem o sufixo _l usam a localidade atual desse comportamento dependente da localidade. As versões com o sufixo _l são idênticas, exceto por usarem o parâmetro de localidade passado em seu lugar.

Observação

Por definição, os caracteres ASCII entre 0 e 127 são um subconjunto de todos os conjuntos de caracteres multibyte. Por exemplo, o conjunto de caracteres japoneses de katakana inclui ASCII, bem como caracteres não ASCII.

As constantes predefinidas na tabela a seguir são definidas em <ctype.h>.

Rotinas de classificação de byte do caractere multibyte

Rotina Condição de teste de byte
isleadbyte, _isleadbyte_l Byte inicial. O resultado do teste depende da configuração LC_CTYPE da categoria da localidade atual
_ismbbalnum, _ismbbalnum_l isalnum || _ismbbkalnum
_ismbbalpha, _ismbbalpha_l isalpha || _ismbbkalpha
_ismbbgraph, _ismbbgraph_l O mesmo que _ismbbprint, mas _ismbbgraph não inclui o caractere de espaço (0x20).
_ismbbkalnum, _ismbbkalnum_l Símbolo de texto não ASCII que não seja de pontuação. Por exemplo, na página de código 932 somente, _ismbbkalnum testa se é um alfanumérico katakana
_ismbbkana, _ismbbkana_l Katakana (0xA1 – 0xDF), página de código 932 apenas
_ismbbkprint, _ismbbkprint_l Texto não ASCII ou símbolo de pontuação não ASCII. Por exemplo, somente na página de código 932, _ismbbkprint testa se há pontuação katakana ou caracteres alfanuméricos katakana (intervalo: 0xA1 – 0xDF).
_ismbbkpunct, _ismbbkpunct_l Pontuação não ASCII. Por exemplo, na página de código 932 somente, _ismbbkpunct testa se é uma pontuação katakana.
_ismbblead, _ismbblead_l Byte inicial do caractere multibyte. Por exemplo, somente na página de código 932, os intervalos válidos são 0x81 a 0x9F e 0xE0 a 0xFC.
_ismbbprint, _ismbbprint_l isprint || _ismbbkprint. ismbbprint inclui o caractere de espaço (0x20)
_ismbbpunct, _ismbbpunct_l ispunct || _ismbbkpunct
_ismbbtrail, _ismbbtrail_l Segundo byte do caractere multibyte. Por exemplo, somente na página de código 932, os intervalos válidos são 0x40 a 0x7E e 0x80 a 0xEC.
_ismbslead, _ismbslead_l Byte inicial (no contexto da cadeia de caracteres)
ismbstrail, _ismbstrail_l Byte final (no contexto da cadeia de caracteres)
_mbbtype, _mbbtype_l Tipo de byte de retorno com base no byte anterior
_mbsbtype, _mbsbtype_l Tipo de retorno do byte na cadeia de caracteres
mbsinit Controla o estado de uma conversão de caracteres de vários bytes.

A macro MB_LEN_MAX, definida em <limits.h>, expande para o comprimento máximo em bytes, que qualquer caractere multibyte pode ter. MB_CUR_MAX, definido em <stdlib.h>, expande para o comprimento máximo em bytes de qualquer caractere multibyte na localidade atual.

Confira também

Rotinas de runtime C universais por categoria