◐ Shell
clean mode source ↗

std::codecvt - cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

Definido no cabeçalho

<locale>

template< class InternT, class ExternT, class State > class codecvt;

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.

cpp/locale/codecvt basecpp/locale/locale/facet

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 <locale>

std::codecvt<char, char, std::mbstate_t>

conversão de identidade

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>

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.
You can help to correct and verify the translation. Click here for instructions.

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.
You can help to correct and verify the translation. Click here for instructions.

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.
You can help to correct and verify the translation. Click here for instructions.

Tipos de membro

Tipo de membro

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

Objetos Membros

Nome do membro

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 (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.
You can help to correct and verify the translation. Click here for instructions.


(função pública membro)

destrói uma faceta 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.


(protegido função de 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.


(função pública membro) [edit]

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.


(função pública membro) [edit]

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.


(função pública membro) [edit]

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.


(função pública membro) [edit]

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.


(função pública membro) [edit]

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.


(função pública membro) [edit]

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.


(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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.


(virtual protegido função de membro) [edit]

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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.


(virtual protegido função de membro) [edit]

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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.

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.
You can help to correct and verify the translation. Click here for instructions.

Enumeração constante

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

conversão foi completado sem qualquer erro

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

nem todos os caracteres de fonte foram convertidos

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

encontrou um caractere inválido

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

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.
You can help to correct and verify the translation. Click here for instructions.

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.
You can help to correct and verify the translation. Click here for instructions.


(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.
You can help to correct and verify the translation. Click here for instructions.


(modelo de classe)

converte entre 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.


(modelo de classe) [edit]

converte entre 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.


(modelo de classe) [edit]
converts between UTF-8 and UTF-16
(modelo de classe) [edit]