Namespace
Varianti

std::codecvt_utf8

Da cppreference.com.
< cpp‎ | locale

 
 
Localizzazioni libreria
Impostazioni internazionali e sfaccettature
Original:
Locales and facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
locale
Carattere classificazione
Original:
Character classification
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Conversioni
Original:
Conversions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Facet categoria classi di base
Original:
Facet category base classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Facet categorie
Original:
Facet categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Locale specifici aspetti
Original:
Locale-specific facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Codice di conversione sfaccettature
Original:
Code conversion facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
codecvt_utf8(C++11)
codecvt_utf16(C++11)
C locale
Original:
C locale
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 <codecvt>
template<

    class Elem,
    unsigned long Maxcode = 0x10ffff,
    std::codecvt_mode Mode = (std::codecvt_mode)0

> class codecvt_utf8 : public std::codecvt<Elem, char, std::mbstate_t>;
std::codecvt_utf8 è un aspetto std::codecvt che incapsula la conversione tra una stringa UTF-8 byte codificata e UCS2 o UCS4 stringa di caratteri (a seconda del tipo di Elem). Questo aspetto codecvt può essere utilizzato per leggere e scrivere file UTF-8, sia il testo e binari.
Original:
std::codecvt_utf8 is a std::codecvt facet which encapsulates conversion between a UTF-8 encoded byte string and UCS2 or UCS4 character string (depending on the type of Elem). This codecvt facet can be used to read and write UTF-8 files, both text and binary.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Indice

[modifica] Template Parametri

Elem -
sia char16_t, char32_t o wchar_t
Original:
either char16_t, char32_t, or wchar_t
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Maxcode -
il più grande valore di Elem che questo aspetto sarà leggere o scrivere senza errori
Original:
the largest value of Elem that this facet will read or write without error
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Mode -
una costante di std::codecvt_mode tipo
Original:
a constant of type std::codecvt_mode
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Inherited from std::codecvt

Member types

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

Member objects

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

Member functions

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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [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.

(membro pubblico of std::codecvt funzione) [edit]

Protected member functions

[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 of std::codecvt membro) [edit]
[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 of std::codecvt membro) [edit]
[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 of std::codecvt membro) [edit]
[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 of std::codecvt membro) [edit]
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 of std::codecvt membro) [edit]
[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 of std::codecvt membro) [edit]
[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 of std::codecvt membro) [edit]


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

L'esempio seguente mostra la differenza tra UCS2/UTF-8 e UTF-16/UTF-8 conversioni: il terzo carattere della stringa non è un carattere valido UCS2 .
Original:
The following example demonstrates the difference between UCS2/UTF-8 and UTF-16/UTF-8 conversions: the third character in the string is not a valid UCS2 character.
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 <string>
#include <locale>
#include <codecvt>
int main()
{
    // UTF-8 data. The character U+1d10b, musical sign segno, does not fit in UCS2
    std::string utf8 = u8"z\u6c34\U0001d10b";
 
    // the UTF-8 / UTF-16 standard conversion facet
    std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> utf16conv;
    std::u16string utf16 = utf16conv.from_bytes(utf8);
    std::cout << "UTF16 conversion produced " << utf16.size() << " code points:\n";
    for(char16_t c : utf16)
        std::cout << std::hex << std::showbase << c << '\n';
 
    // the UTF-8 / UCS2 standard conversion facet
    std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> ucs2conv;
    try {
        std::u16string ucs2 = ucs2conv.from_bytes(utf8);
    } catch(const std::range_error& e) {
        std::u16string ucs2 = ucs2conv.from_bytes(utf8.substr(0, ucs2conv.converted()));
        std::cout << "UCS2 failed after producing " << std::dec << ucs2.size()<<" characters:\n";
        for(char16_t c : ucs2)
            std::cout << std::hex << std::showbase << c << '\n';
    }
}

Output:

UTF16 conversion produced 4 code points:
0x7a
0x6c34
0xd834
0xdd0b
UCS2 failed after producing 2 characters:
0x7a
0x6c34

[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
converte tra codifiche dei caratteri, tra cui UTF-8, UTF-16, UTF-32
Original:
converts between character encodings, including UTF-8, UTF-16, UTF-32
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe template) [edit]
tag per alterare il comportamento delle faccette codecvt standard
Original:
tags to alter behavior of the standard codecvt facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe) [edit]
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) [edit]
converts between UTF-8 and UTF-16
(classe template) [edit]