Пространства имён
Варианты
Действия

std::codecvt::encoding, std::codecvt::do_encoding

Материал из cppreference.com
< cpp‎ | locale‎ | codecvt

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
std::codecvt
Член функций
Оригинал:
Member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
codecvt::codecvt
codecvt::~codecvt
codecvt::out
codecvt::do_out
codecvt::in
codecvt::do_in
codecvt::unshift
codecvt::do_unshift
codecvt::encoding
codecvt::do_encoding
codecvt::always_noconv
codecvt::do_always_noconv
codecvt::length
codecvt::do_length
codecvt::max_length
codecvt::do_max_length
 
Определено в заголовочном файле <locale>
public:
int encoding() const
(1)
protected:
int do_encoding() const
(2)
1)
общественные функции-члена, вызывает do_encoding функции-члена из самых производного класса.
Оригинал:
public member function, calls the member function do_encoding of the most derived class.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

2) if the encoding represented by this codecvt facet maps each internal character to the same, constant number of external characters, returns that number. If the encoding is variable-length (e.g. UTF-8 or UTF-16), returns 0. If the encoding is state-dependent, returns -1.

Содержание

[править] Возвращаемое значение

The exact number of externT characters that correspond to one internT character, if constant. 0 if the number varies, -1 if the encoding is state-dependent.

без преобразования специализации std::codecvt<char, char, std::mbstate_t> возвращается 1
Оригинал:
The non-converting specialization std::codecvt<char, char, std::mbstate_t> returns 1
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Исключения

noexcept-спецификация:  
noexcept
  (начиная с C++11)

[править] Пример

#include <locale>
#include <iostream>
int main()
{
    std::cout << "en_US.utf8 is a variable-length encoding, encoding() returns "
              << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(
                    std::locale("en_US.utf8")
              ).encoding() << '\n';
 
    std::cout << "zh_CN.gb18030 is also variable-length, encoding() == "
              << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(
                    std::locale("zh_CN.gb18030")
              ).encoding() << '\n';
 
    std::cout << "ru_RU.koi8r is a single-byte encoding encoding() == "
              << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(
                    std::locale("ru_RU.koi8r")
              ).encoding() << '\n';
}

Вывод:

en_US.utf8 is a variable-length encoding, encoding() returns 0
zh_CN.gb18030 is also variable-length, encoding() == 0
ru_RU.koi8r is a single-byte encoding encoding() == 1

[править] См. также

MB_CUR_MAX
Максимальное число байтов в многобайтовых символов в текущем C locale
(макропеременной)
Оригинал:
maximum number of bytes in a multibyte character in the current C locale
(макропеременной)
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[edit]
возвращает максимальное число externT символы, которые могут быть преобразованы в единый internT характер
Оригинал:
returns the maximum number of externT characters that could be converted into a single internT character
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член) [edit]