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 _ismbbprintdem _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.

Siehe auch

Universelle C-Laufzeitroutinen nach Kategorie