std::codecvt - cppreference.com
De cppreference.com
<metanoindex/>
<tbody> </tbody>
| Definido no cabeçalho <locale> |
||
|
|
||
Classe std::codecvt conversão encapsula de cadeias de caracteres, incluindo largura e multibyte, a partir de uma codificação para outro. Todos os arquivos I / O operações realizadas através std::basic_fstream<CharT> usar a faceta std::codecvt<CharT, char, std::mbstate_t> do local imbuído na corrente.
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.
Inheritance diagram
Quatro especializações são fornecidos pela biblioteca padrão e são implementadas por todos os objetos localidade criado em um programa em 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.
Defined in header | |
std::codecvt<char, char, std::mbstate_t>
|
conversão de identidade Original: identity conversion The text has been machine-translated via Google Translate. |
std::codecvt<char16_t, char, std::mbstate_t>
|
conversão entre UTF-16 e UTF-8 (desde C++11) Original: conversion between UTF-16 and UTF-8 (desde C++11) The text has been machine-translated via Google Translate. |
std::codecvt<char32_t, char, std::mbstate_t>
|
conversão entre UTF-32 e UTF-8 (desde C++11) Original: conversion between UTF-32 and UTF-8 (desde C++11) The text has been machine-translated via Google Translate. |
std::codecvt<wchar_t, char, std::mbstate_t>
|
localidade específica conversão entre corda larga e estreita, possivelmente multibyte string, Original: locale-specific conversion between wide string and narrow, possibly multibyte, string The text has been machine-translated via Google Translate. |
Tipos de membro
Tipo de membro Original: Member type The text has been machine-translated via Google Translate. |
Definition |
intern_type
|
internT
|
extern_type
|
externT
|
state_type
|
stateT
|
Objetos Membros
Nome do membro Original: Member name The text has been machine-translated via Google Translate. |
Type |
id (estática)
|
std::locale::id |
Funções de membro
constrói uma faceta codecvt novo Original: constructs a new codecvt facet The text has been machine-translated via Google Translate. (função pública membro) | |
destrói uma faceta codecvt Original: destructs a codecvt facet The text has been machine-translated via Google Translate. (protegido função de membro) | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Invoca Original: invokes The text has been machine-translated via Google Translate. (função pública membro) [edit] | |
Protegido funções de membro
[virtual] |
Converte uma cadeia de internt para externT, como ao escrever para o arquivo Original: converts a string from internT to externT, such as when writing to file The text has been machine-translated via Google Translate. (virtual protegido função de membro) [edit] |
[virtual] |
Converte uma cadeia de externT a Internt, como quando lendo de um arquivo Original: converts a string from externT to internT, such as when reading from file The text has been machine-translated via Google Translate. (virtual protegido função de membro) [edit] |
[virtual] |
gera a seqüência de caracteres de terminação de caracteres externT para conversão incompleta Original: generates the termination character sequence of externT characters for incomplete conversion The text has been machine-translated via Google Translate. (virtual protegido função de membro) [edit] |
[virtual] |
retorna o número de caracteres externT necessários para produzir um caráter internt, se constante Original: returns the number of externT characters necessary to produce one internT character, if constant The text has been machine-translated via Google Translate. (virtual protegido função de membro) [edit] |
[virtual] |
Testes se a faceta codifica uma conversão de identidade para todos os valores de argumentos válidos Original: tests if the facet encodes an identity conversion for all valid argument values The text has been machine-translated via Google Translate. (virtual protegido função de membro) [edit] |
[virtual] |
calcula o comprimento da corda externT que seria consumida por conversão em tampão internt dado 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. (virtual protegido função de membro) [edit] |
[virtual] |
devolve o número máximo de caracteres externT que poderia ser convertido em um único caractere 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. (virtual protegido função de membro) [edit] |
Herdado de std::codecvt_base
Tipo de membro Original: Member type The text has been machine-translated via Google Translate. |
Definition |
enum result { ok, partial, error, noconv };
|
Tipo de enumeração sem escopo Original: Unscoped enumeration type The text has been machine-translated via Google Translate. |
Enumeração constante Original: Enumeration constant The text has been machine-translated via Google Translate. |
Definition |
ok
|
conversão foi completado sem qualquer erro Original: conversion was completed with no error The text has been machine-translated via Google Translate. |
partial
|
nem todos os caracteres de fonte foram convertidos Original: not all source characters were converted The text has been machine-translated via Google Translate. |
error
|
encontrou um caractere inválido Original: encountered an invalid character The text has been machine-translated via Google Translate. |
noconv
|
necessária nenhuma conversão de entrada, e os tipos de saída são os mesmos Original: no conversion required, input and output types are the same The text has been machine-translated via Google Translate. |
Exemplo
Os exemplos a seguir lê um arquivo UTF-8 usando uma localidade que implementa conversão UTF-8 em 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.
#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'; }
Saída:
The UTF-8 file contains the following wide characters: U+007a U+00df U+6c34 U+1d10b
Veja também
| 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 |
define erros de conversão de caracteres Original: defines character conversion errors The text has been machine-translated via Google Translate. (modelo de classe) | |
cria uma faceta codecvt para a localidade chamada Original: creates a codecvt facet for the named locale The text has been machine-translated via Google Translate. (modelo de classe) | |
(C++11) |
converte entre UTF-8 e UCS2/UCS4 Original: converts between UTF-8 and UCS2/UCS4 The text has been machine-translated via Google Translate. (modelo de classe) [edit] |
(C++11) |
converte entre UTF-16 e UCS2/UCS4 Original: converts between UTF-16 and UCS2/UCS4 The text has been machine-translated via Google Translate. (modelo de classe) [edit] |
(C++11) |
converts between UTF-8 and UTF-16 (modelo de classe) [edit] |