std::codecvt
De cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <locale>
|
||
| template< class InternT, |
||
Clase std::codecvt encapsula conversión de cadenas de caracteres, incluyendo ancho y multibyte, de una codificación a otra. Todos los archivos de E / S se realizan operaciones a través de std::basic_fstream<CharT> utilizar la faceta std::codecvt<CharT, char, std::mbstate_t> de la configuración regional imbuida en la corriente .
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.
Cuatro especialidades son proporcionados por la biblioteca estándar y son aplicadas por todos los objetos creados en un entorno nacional C + + programa:
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.
| Defined in header
<locale> | |
| std::codecvt<char, char, std::mbstate_t> | identidad de conversión
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> | conversión entre UTF-16 y UTF-8 (ya que C + +11)
Original: conversion between UTF-16 and UTF-8 (ya que 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> | conversión entre UTF-32 y UTF-8 (ya que C + +11)
Original: conversion between UTF-32 and UTF-8 (ya que 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> | específico de la localidad de conversión entre la cadena y la cadena de ancho estrecho, posiblemente multibyte
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. |
Contenido |
[editar] Tipos de miembros
| Miembro de 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
|
[editar] Objetos miembros
| 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 (estático)
|
std::locale::id |
[editar] Las funciones miembro
| construye una nueva faceta 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. (miembro público función) | |
| destructs una 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. (protegidos función miembro) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
| 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. (miembro público función) | |
[editar] Protegido funciones miembro
| [virtual] |
convierte una cadena de internt a externT, tales como cuando se escribe en el archivo 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. (virtuales protegidos miembro de función) |
| [virtual] |
convierte una cadena de externT a internt, como cuando al leer el archivo 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. (virtuales protegidos miembro de función) |
| [virtual] |
genera la secuencia de caracteres de terminación de caracteres externT para la conversión 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. (virtuales protegidos miembro de función) |
| [virtual] |
devuelve el número de caracteres externT necesarias para producir un carácter internt, si es 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. (virtuales protegidos miembro de función) |
| [virtual] |
Comprueba si la faceta codifica una conversión de identidad para todos los valores de los 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. (virtuales protegidos miembro de función) |
| [virtual] |
calcula la longitud de la cadena externT que sería consumida por conversión en tampón 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. (virtuales protegidos miembro de función) |
| [virtual] |
devuelve el número máximo de caracteres externT que se podrían transformar en un único carácter 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. (virtuales protegidos miembro de función) |
Inherited from std::codecvt_base
| Miembro de 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 }; | Tipo de enumeración sin ámbito
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. |
| Enumeración 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
|
conversión se completó con ningún error
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
|
no todos los caracteres de código se convirtieron
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
|
encontró un carácter no vá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
|
sin necesidad de conversión, tipos de entrada y salida son los mismos
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. |
[editar] Ejemplo
Los siguientes ejemplos se lee un archivo UTF-8 con una configuración regional que implementa UTF-8 en la conversión 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
[editar] Ver también
| 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 los errores de conversión 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. (clase de plantilla) | |
| crea una faceta codecvt para la localidad nombrada 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. (clase de plantilla) | |
| (C++11) |
la conversión entre UTF-8 y 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. (clase de plantilla) |
| (C++11) |
la conversión entre UTF-16 y 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. (clase de plantilla) |
| (C++11) |
converts between UTF-8 and UTF-16 (clase de plantilla) |
