std::codecvt
Da cppreference.com.
![]() |
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
Elemento definito nell'header <locale>
|
||
template< class InternT, |
||
Classe std::codecvt incapsula conversione di stringhe di caratteri, tra cui ampia e multibyte, da una codifica a un'altra. Tutti i file di I / O avviene attraverso std::basic_fstream<CharT> utilizzare l'aspetto std::codecvt<CharT, char, std::mbstate_t> del locale intriso nel flusso.
Original:
Class std::codecvt encapsulates conversion of character strings, including wide and multibyte, from one encoding to another. All file I/O operations performed through std::basic_fstream<CharT> use the std::codecvt<CharT, char, std::mbstate_t> facet of the locale imbued in the stream.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Quattro specializzazioni sono forniti dalla libreria standard e sono attuate da tutti gli oggetti delle impostazioni locali creati in un programma C + +:
Original:
Four specializations are provided by the standard library and are implemented by all locale objects created in a C++ program:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Definizione nell'header
<locale> | |
std::codecvt<char, char, std::mbstate_t> | identità conversione
Original: identity conversion The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
std::codecvt<char16_t, char, std::mbstate_t> | conversione tra UTF-16 e UTF-8 (dal C++11)
Original: conversion between UTF-16 and UTF-8 (dal C++11) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
std::codecvt<char32_t, char, std::mbstate_t> | conversione tra UTF-32 e UTF-8 (dal C++11)
Original: conversion between UTF-32 and UTF-8 (dal C++11) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
std::codecvt<wchar_t, char, std::mbstate_t> | specifica delle impostazioni internazionali conversione tra stringa larga e stretta, eventualmente multibyte, stringa
Original: locale-specific conversion between wide string and narrow, possibly multibyte, string The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Indice |
[modifica] Membri tipi
Membro tipo
Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
intern_type
|
internT
|
extern_type
|
externT
|
state_type
|
stateT
|
[modifica] Membri oggetti
Persona
Original: Member name The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Type |
id (statico)
|
std::locale::id |
[modifica] Membri funzioni
costruisce un nuovo aspetto codecvt Original: constructs a new codecvt facet The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
distrugge un aspetto codecvt Original: destructs a codecvt facet The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (protetto funzione membro) | |
Invoca do_out Original: invokes do_out The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_in Original: invokes do_in The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_unshift Original: invokes do_unshift The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_encoding Original: invokes do_encoding The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_always_noconv Original: invokes do_always_noconv The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_length Original: invokes do_length The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
Invoca do_max_length Original: invokes do_max_length The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) |
[modifica] Protetto funzioni membro
[virtuale] |
converte una stringa da internt a externT, come ad esempio durante la scrittura su file Original: converts a string from internT to externT, such as when writing to file The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
converte una stringa da externT a internt, come ad esempio durante la lettura dal file Original: converts a string from externT to internT, such as when reading from file The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
genera la sequenza di caratteri di terminazione di caratteri externT per la conversione incompleta Original: generates the termination character sequence of externT characters for incomplete conversion The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
restituisce il numero di caratteri externT necessari a produrre un carattere internt, se costante Original: returns the number of externT characters necessary to produce one internT character, if constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
Verifica se la faccetta codifica una conversione di identità per tutti i valori degli argomenti validi Original: tests if the facet encodes an identity conversion for all valid argument values The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
calcola la lunghezza della stringa externT che sarebbe consumata dalla conversione in tampone internt dato Original: calculates the length of the externT string that would be consumed by conversion into given internT buffer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
[virtuale] |
restituisce il numero massimo di caratteri externT che può essere convertito in un singolo carattere internt Original: returns the maximum number of externT characters that could be converted into a single internT character The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuale protetto funzione membro) |
Inherited from std::codecvt_base
Membro tipo
Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
enum result { ok, partial, error, noconv }; | Enumerazione senza ambito
Original: Unscoped enumeration type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Enumerazione costante
Original: Enumeration constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
ok
|
conversione è stata completata senza errori
Original: conversion was completed with no error The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
partial
|
non tutti i caratteri di origine sono stati convertiti
Original: not all source characters were converted The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
error
|
rilevato un carattere non valido
Original: encountered an invalid character The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
noconv
|
non essere effettuata la conversione, di ingresso e di tipi di output sono gli stessi
Original: no conversion required, input and output types are the same The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifica] Esempio
Gli esempi riportati di seguito legge un UTF-8 file usando una versione locale che implementa conversione UTF-8 in codecvt <wchar_t, char, mbstate_t>
Original:
The following examples reads a UTF-8 file using a locale which implements UTF-8 conversion in codecvt<wchar_t, char, mbstate_t>
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream> #include <fstream> #include <string> #include <locale> #include <iomanip> int main() { // UTF-8 narrow multibyte encoding std::ofstream("text.txt") << u8"z\u00df\u6c34\U0001d10b"; // or u8"zß水𝄋" // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b"; std::wifstream fin("text.txt"); fin.imbue(std::locale("en_US.UTF-8")); // this locale's codecvt<wchar_t, char, mbstate_t> // converts UTF-8 to UCS4 std::cout << "The UTF-8 file contains the following wide characters: \n"; for(wchar_t c; fin >> c; ) std::cout << "U+" << std::hex << std::setw(4) << std::setfill('0') << c << '\n'; }
Output:
The UTF-8 file contains the following wide characters: U+007a U+00df U+6c34 U+1d10b
[modifica] Vedi anche
Character conversions |
narrow multibyte (char) |
UTF-8 (char) |
UTF-16 (char16_t) |
---|---|---|---|
UTF-16 | mbrtoc16 / c16rtomb | codecvt<char16_t, char, mbstate_t> codecvt_utf8_utf16<char16_t> codecvt_utf8_utf16<char32_t> codecvt_utf8_utf16<wchar_t> |
N/A |
UCS2 | No | codecvt_utf8<char16_t> | codecvt_utf16<char16_t> |
UTF-32/UCS4 (char32_t) |
mbrtoc32 / c32rtomb | codecvt<char32_t, char, mbstate_t> codecvt_utf8<char32_t> |
codecvt_utf16<char32_t> |
UCS2/UCS4 (wchar_t) |
No | codecvt_utf8<wchar_t> | codecvt_utf16<wchar_t> |
wide (wchar_t) |
codecvt<wchar_t, char, mbstate_t> mbsrtowcs / wcsrtombs |
No | No |
definisce errori di conversione dei caratteri Original: defines character conversion errors The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe template) | |
crea un aspetto codecvt per le impostazioni internazionali di nome Original: creates a codecvt facet for the named locale The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe template) | |
(C++11) |
converte tra UTF-8 e UCS2/UCS4 Original: converts between UTF-8 and UCS2/UCS4 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe template) |
(C++11) |
converte tra UTF-16 e UCS2/UCS4 Original: converts between UTF-16 and UCS2/UCS4 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe template) |
(C++11) |
converts between UTF-8 and UTF-16 (classe template) |