Udostępnij za pośrednictwem


codecvt — Klasa

Klasa szablonu opisująca obiekt, który może służyć jako zestaw reguł ustawień regionalnych.Jest w stanie kontrolować konwersje między sekwencją wartości używaną do kodowania znaków w ramach programu i sekwencją wartości używanych do kodowania znaków poza programem.

template<class CharType, class Byte, class StateType>
    class codecvt : public locale::facet, codecvt_base;

Parametry

  • CharType
    Typ używany w programie do kodowania znaków.

  • Byte
    Typ używany do kodowania znaków poza programem.

  • StateType
    Typ, który może służyć do reprezentowania pośrednich stanów konwersji między typami wewnętrznymi i zewnętrznymi reprezentacji znaków.

Uwagi

Klasa szablonu opisująca obiekt, który może służyć jako zestaw reguł ustawień regionalnych w celu kontroli konwersji między sekwencjami wartości typu CharType i sekwencjami wartości typu Byte.Klasa StateType charakteryzuje transformację -- i obiekt klasy StateType przechowuje wszystkie niezbędne informacje o stanie podczas konwersji.

Wewnętrzne kodowanie wykorzystuje reprezentację z stałą liczbą bajtów na znak, zwykle albo typu char, albo wchar_t.

Podobnie jak w przypadku dowolnego zestawu reguł ustawień regionalnych, id obiektu statycznego ma początkową przechowywaną wartość zero.Pierwsza próba dostępu do jego przechowywanej wartości przechowuje unikatową wartość dodatnią wid

Wersje szablonów z do_in i do_out zawsze zwracają codecvt_base::noconv.

Standardowa biblioteka C++ definiuje kilka jawnych specjalizacji:

template<>

codecvt<wchar_t, char, mbstate_t>

konwertuje między sekwencjami wchar_t i char.

template<>

codecvt<char16_t, char, mbstate_t>

konwertuje między sekwencjami char16_t zakodowanymi w formacie UTF-16 i sekwencjami char zakodowanymi w formacie UTF-8.

template<>

codecvt<char32_t, char, mbstate_t>

konwertuje między sekwencjami char32_t zakodowanymi w formacie UTF-32 (UCS-4) i sekwencjami char zakodowanymi w formacie UTF-8.

Konstruktory

codecvt

Konstruktor dla obiektów klasy codecvt, który służy jako zestaw reguł ustawień regionalnych do obsługi konwersji.

Typedefs

extern_type

Typ znaku, który jest używany dla zewnętrznych reprezentacji.

intern_type

Typ znaku, który jest używany dla wewnętrznych reprezentacji.

state_type

Typ znaku, który jest używany do reprezentowania pośrednich stanów w czasie konwersji między wewnętrznymi i zewnętrznymi reprezentacjami.

Funkcje elementów członkowskich

always_noconv

Sprawdza, czy nie trzeba wykonać żadnych konwersji.

do_always_noconv

Funkcja wirtualna wywoływana w celu sprawdzenia, czy nie trzeba wykonywać żadnych konwersji.

do_encoding

Funkcja wirtualna, która sprawdza, czy kodowanie strumienia Byte zależy od stanu, czy stosunek między używanymi Byte i produkowanymi CharType jest stały, i jeśli tak, określa wartość tego stosunku.

do_in

Funkcja wirtualna wywoływana w celu konwersji sekwencji wewnętrznych Byte na sekwencję zewnętrznych CharType.

do_length

Funkcja wirtualna, która określa, ile Byte z danej sekwencji zewnętrznych Byte produkuje nie więcej niż określoną liczbę wewnętrznych CharType i zwraca tę liczbę Byte.

do_max_length

Funkcja wirtualna, która zwraca maksymalną liczbę zewnętrznych Byte niezbędnych do wyprodukowania jednego wewnętrznego CharType.

do_out

Funkcja wirtualna wywoływana w celu konwersji sekwencji wewnętrznych CharType na sekwencję zewnętrznych Byte.

do_unshift

Funkcja wirtualna wywoływana w celu zapewnienia Byte potrzebnych podczas konwersji zależnej od stanu, aby zakończyć ostatni znak w sekwencji Byte.

encoding

Sprawdza, czy kodowanie strumienia Byte zależy od stanu, czy stosunek między używanymi Byte i produkowanymi CharType jest stały, i jeśli tak, określa wartość tego stosunku.

in

Konwertuje zewnętrzną reprezentację sekwencji Byte do wewnętrznej reprezentacji sekwencji CharType.

length

Określa, ile Byte z danej sekwencji zewnętrznych Byte produkuje nie więcej niż określoną liczbę wewnętrznych CharType i zwraca tę liczbę Byte.

max_length

Zwraca maksymalną liczbę zewnętrznych Byte niezbędnych do wyprodukowania jednego wewnętrznego CharType.

out

Konwertuje sekwencję wewnętrznych CharType z sekwencji zewnętrznych Byte.

unshift

Zapewnia zewnętrzne Byte potrzebne podczas konwersji zależnej od stanu, aby zakończyć ostatni znak w sekwencji Byte.

Wymagania

Nagłówek: <locale>

Przestrzeń nazw: std

Zobacz też

Informacje

<locale>

Strony kodowe

Nazwy lokalne, języki i ciągi kraj/region

Bezpieczeństwo wątku w standardowej bibliotece C++