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

来自cppreference.com
< cpp‎ | locale‎ | codecvt

 
 
 
 
定义于头文件 <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 Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

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 Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 例外

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
在当前的Clocale
(宏变量)多字节字符的最大字节数
原文:
maximum number of bytes in a multibyte character in the current C locale
(宏变量)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
[编辑]
返回的最大数目,可以被转换成一个单一的Internt的字符externT字符
原文:
returns the maximum number of externT characters that could be converted into a single internT character
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(虚受保护成员函数) [编辑]