codecvt-Klasse
Eine Vorlagenklasse, die ein Objekt beschreibt, das als Gebietsschemafacet dienen kann. Sie ist in der Lage, Konvertierungen zwischen einer Sequenz von Werten zu steuern, mit denen Zeichen innerhalb des Programms codiert werden, und einer Sequenz von Werten, mit denen Zeichen außerhalb des Programms codiert werden.
template<class CharType, class Byte, class StateType>
class codecvt : public locale::facet, codecvt_base;
Parameter
CharType
Der Typ, der innerhalb eines Programms verwendet wird, um Zeichen zu codieren.Byte
Ein Typ, mit dem Zeichen außerhalb eines Programms codiert werden.StateType
Ein Typ, der verwendet werden kann, um Zwischenzustände einer Konvertierung zwischen internen und externen Zeichendarstellungen darzustellen.
Hinweise
Die Vorlagenklasse beschreibt ein Objekt, das als Gebietsschemafacet dienen kann, um Konvertierungen zwischen einer Sequenz von Werten des Typs CharType und einer Sequenz von Werten des Typs Byte zu steuern. Die StateType-Klasse kennzeichnet die Transformation, und ein Objekt der StateType-Klasse speichert alle erforderlichen Zustandsinformationen während einer Konvertierung.
Die interne Codierung verwendet eine Darstellung mit einer festen Anzahl von Byte pro Zeichen, normalerweise entweder vom Typ char oder vom Typ wchar_t.
Wie bei jedem Gebietsschemafacet hat das statische Objekt id einen anfänglichen gespeicherten Wert von NULL. Beim ersten Versuch, auf den gespeicherten Wert zuzugreifen, wird ein eindeutiger positiver Wert inid gespeichert.
Die Vorlagenversionen von do_in und do_out geben immer codecvt_base::noconv zurück.
Die C++- Standardbibliothek definiert einige explizite Spezialisierungen:
template<>
codecvt<wchar_t, char, mbstate_t>
konvertiert wchar_t- und char-Sequenzen.
template<>
codecvt<char16_t, char, mbstate_t>
konvertiert char16_t-Sequenzen, die als UTF-16 codiert sind, und char-Sequenzen, die als UTF-8 codiert sind.
template<>
codecvt<char32_t, char, mbstate_t>
konvertiert char32_t-Sequenzen, die als UTF-32 (UCS-4) codiert sind, und char-Sequenzen, die als UTF-8 codiert sind.
Konstruktoren
Der Konstruktor für Objekte der codecvt-Klasse, die als Gebietsschemafacet zur Behandlung von Konvertierungen dient. |
Typedefs
Ein Zeichentyp, der für externe Darstellungen verwendet wird. |
|
Ein Zeichentyp, der für interne Darstellungen verwendet wird. |
|
Ein Zeichentyp, der verwendet wird, um Zwischenzustände bei Konvertierungen zwischen externen und internen Darstellungen darzustellen. |
Memberfunktionen
Testet, ob keine Konvertierungen ausgeführt werden müssen. |
|
Eine virtuelle Funktion, die aufgerufen wird, um zu testen, ob keine Konvertierungen ausgeführt werden müssen. |
|
Eine virtuelle Funktion, die testet, ob die Codierung des Byte-Streams zustandsabhängig ist, ob das zwischen den verwendeten Bytes und den CharType-Objekten erstellte Verhältnis konstant ist, und die im positiven Fall den Wert dieses Verhältnisses bestimmt. |
|
Eine virtuelle Funktion, die aufgerufen wird, um eine Sequenz interner Bytes in eine Sequenz externer CharTypes zu konvertieren. |
|
Eine virtuelle Funktion, die bestimmt, wie viele Bytes aus einer angegebenen Sequenz externer Bytes nicht mehr als eine angegebene Anzahl von CharType-Objekten ergibt, und die die Anzahl von Bytes zurückgibt. |
|
Eine virtuelle Funktion, die die maximale Anzahl externer Bytes zurückgibt, die erforderlich sind, um ein internes CharType-Objekt zu erzeugen. |
|
Eine virtuelle Funktion, die aufgerufen wird, um eine Sequenz interner CharType-Objekte in eine Sequenz externer Bytes zu konvertieren. |
|
Eine virtuelle Funktion, die aufgerufen wird, um die Bytes bereitzustellen, die in einer zustandsabhängigen Konvertierung erforderlich sind, um das letzte Zeichen in einer Sequenz von Bytes abzuschließen. |
|
Testet, ob die Codierung des Byte-Streams zustandsabhängig ist, ob das zwischen den verwendeten Bytes und den CharType-Objekten erstellte Verhältnis konstant ist, und bestimmt im positiven Fall den Wert dieses Verhältnisses. |
|
Konvertiert eine externe Darstellung einer Sequenz von Bytes in eine Darstellung einer Sequenz von CharType-Objekten. |
|
Bestimmt, wie viele Bytes aus einer angegebenen Sequenz externer Bytes nicht mehr als eine angegebene Anzahl von CharType-Objekten ergibt, und gibt die Anzahl von Bytes zurück. |
|
Gibt die maximale Anzahl von externen Bytes zurück, die erforderlich ist, um einen internen CharType zu erstellen. |
|
Konvertiert eine Sequenz interner CharType-Objekte in eine Sequenz externer Bytes. |
|
Stellt die externen Bytes bereit, die in einer zustandsabhängigen Konvertierung erforderlich sind, um das letzte Zeichen der Sequenz von Bytes abzuschließen. |
Anforderungen
Header: <Gebietsschema>
Namespace: std
Siehe auch
Referenz
Gebietsschema-Namen, Sprachen und Zeichenfolgen für Länder und Regionen