首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

do_encoding

Defined in header <locale>

public: int encoding() const;

(1)

protected: virtual int do_encoding() const;

(2)

1%29公共成员函数,调用成员函数。do_encoding最派生的类。

2%29如果由此codecvt facet表示的编码将每个内部字符映射到相同的外部字符数,则返回该数字。如果编码是可变长度%28例如。UTF-8或UTF-16%29,返回​0​如果编码与状态相关,则返回-1...

返回值

的确切数目externT对应于一个字符的字符internT人物,如果是常量的话。​0​如果数字有变化,-1如果编码是状态依赖的。

非转换专业化std::codecvt<char, char,std::mbstate_t>回报1...

例外

(none)

(until C++11)

noexcept specification: noexcept

(since C++11)

二次

代码语言:javascript
复制
#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';
}

二次

产出:

二次

代码语言:javascript
复制
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

maximum number of bytes in a multibyte character in the current C locale(macro variable)

do_max_length virtual

returns the maximum number of externT characters that could be converted into a single internT character (virtual protected member function)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券