std::codecvt<InternT,ExternT,StateT>:: encoding, do_encoding
|
Definiert in Header
<locale>
|
||
| (1) | ||
|
public
:
int encoding ( ) const throw ( ) ; |
(bis C++11) | |
|
public
:
int encoding ( ) const noexcept ; |
(seit C++11) | |
| (2) | ||
|
protected
:
virtual int do_encoding ( ) const throw ( ) ; |
(bis C++11) | |
|
protected
:
virtual int do_encoding ( ) const noexcept ; |
(seit C++11) | |
do_encoding
der am meisten abgeleiteten Klasse auf.
Rückgabewert
Die genaue Anzahl von
externT
Zeichen, die einem
internT
Zeichen entsprechen, falls konstant.
0
falls die Anzahl variiert,
-
1
falls die Kodierung zustandsabhängig ist.
Die nicht-konvertierende Spezialisierung std:: codecvt < char , char , std:: mbstate_t > gibt 1 zurück.
Beispiel
#include <iostream> #include <locale> int main() { std::cout << "en_US.utf8 is a variable-length encoding, encoding() returns " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("en_US.utf8") ).encoding() << '\n'; std::cout << "zh_CN.gb18030 is also variable-length, encoding() == " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("zh_CN.gb18030") ).encoding() << '\n'; std::cout << "ru_RU.koi8r is a single-byte encoding, encoding() == " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("ru_RU.koi8r") ).encoding() << '\n'; }
Ausgabe:
en_US.utf8 is a variable-length encoding, encoding() returns 0 zh_CN.gb18030 is also variable-length, encoding() == 0 ru_RU.koi8r is a single-byte encoding, encoding() == 1
Siehe auch
|
MB_CUR_MAX
|
Maximale Anzahl von Bytes in einem Multibyte-Zeichen im aktuellen C-Locale
(Makro-Variable) |
|
[virtual]
|
Gibt die maximale Anzahl von
ExternT
Zeichen zurück, die in ein einzelnes
InternT
Zeichen konvertiert werden können
(virtuelle geschützte Member-Funktion) |