Byteklassifizierung
Jede dieser Routinen testet, ob ein angegebenes Byte eines Multibytezeichens eine Bedingung erfüllt. Sofern nicht anders angegeben, wird der Ausgabewert durch die Einstellung der LC_CTYPE
Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale
. Die Versionen dieser Funktionen ohne das _l
-Suffix verwenden das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten; die Versionen mit dem _l
-Suffix sind beinahe identisch, verwenden jedoch stattdessen den ihnen übergebenen Gebietsschemaparameter.
Hinweis
Die ASCII-Zeichen zwischen 0 und 127 sind definitionsgemäß eine Teilmenge jedes Multibyte-Zeichensatzes. Beispielsweise enthält der japanische Katakana-Zeichensatz sowohl ASCII- als auch Nicht-ASCII-Zeichen.
Die vordefinierten Konstanten in der folgenden Tabelle werden in <ctype.h>
definiert.
Byteklassifizierungsroutinen für Multibytezeichen
Routine | Bytetestbedingung |
---|---|
isleadbyte , _isleadbyte_l |
Führendes Byte; Testergebnis hängt von der Kategorieeinstellung LC_CTYPE des aktuellen Gebietsschemas ab |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
Identisch mit _ismbbprint dem _ismbbgraph Leerzeichen (0x20) |
_ismbbkalnum , _ismbbkalnum_l |
Nicht-ASCII-Textsymbol, das kein Interpunktionszeichen ist. Beispielsweise testet _ismbbkalnum nur in Codepage 932 auf alphanumerische Katakana-Zeichen |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1-0xDF), nur Codepage 932 |
_ismbbkprint , _ismbbkprint_l |
Nicht-ASCII-Textsymbol oder Nicht-ASCII-Interpunktionssymbol. _ismbbkprint testet beispielsweise in Codepage 932 nur auf alphanumerische Katakana-Zeichen oder Katakana-Interpunktion (Bereich: 0xA1–0xDF). |
_ismbbkpunct , _ismbbkpunct_l |
Nicht-ASCII-Interpunktion. Beispielsweise testet _ismbbkpunct nur in Codepage 932 auf Katakana-Interpunktion. |
_ismbblead , _ismbblead_l |
Erstes Byte eines Multibytezeichens. Gültige Bereiche sind in Codepage 932 beispielsweise nur 0x81–0x9F, 0xE0–0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint enthält das Leerzeichen (0x20) |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Zweites Byte eines Multibytezeichens. Gültige Bereiche sind in Codepage 932 beispielsweise nur 0x40–0x7E, 0x80–0xEC. |
_ismbslead , _ismbslead_l |
Führendes Byte (im Zeichenfolgenkontext) |
ismbstrail , _ismbstrail_l |
Nachfolgendes Byte (im Zeichenfolgenkontext) |
_mbbtype , _mbbtype_l |
Gibt den Bytetyp basierend auf dem vorherigen Byte zurück |
_mbsbtype , _mbsbtype_l |
Gibt den Bytetyp in der Zeichenfolge zurück |
mbsinit |
Verfolgt den Zustand einer Multibytezeichen-Konvertierung. |
Das MB_LEN_MAX
in definierten <limits.h>
Makro wird auf die maximale Länge in Byte erweitert, über die ein beliebiges Multibytezeichen verfügen kann. MB_CUR_MAX
, definiert in <stdlib.h>
, wird auf die maximale Länge in Byte eines beliebigen Multibyte-Zeichens im aktuellen Gebietsschema erweitert.