标准库标头 <codecvt> (C++11)(C++17 弃用)(C++26 移除)
来自cppreference.com
此标头是文本处理的一部分。
类 | ||
(C++11)(C++17 弃用)(C++26 移除) | 在 UTF-8 与 UCS-2/UCS-4 间转换 (类模板) | |
(C++11)(C++17 弃用)(C++26 移除) | 在 UTF-16 与 UCS-2/UCS-4 间转换 (类模板) | |
(C++11)(C++17 弃用)(C++26 移除) | 在 UTF-8 与 UTF-16 间转换 (类模板) | |
(C++11)(C++17 弃用)(C++26 移除) | 用于改变标准 codecvt 刻面行为的标签 (枚举) |
[编辑]注解
<codecvt>
在 C++17 中弃用并在 C++26 中移除(见 P2871R3)。
该特性因为只支持被废弃的 UCS-2 编码,不实现当前 Unicode 标准而被移除。
[编辑]概要
namespace std {enum codecvt_mode { consume_header =4, generate_header =2, little_endian =1}; template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf8; template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf16; template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf8_utf16;}
[编辑]类 std::codecvt_utf8
namespace std {template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf8 :public codecvt<Elem, char, mbstate_t>{public:explicit codecvt_utf8(size_t refs =0); ~codecvt_utf8();};}
[编辑]类 std::codecvt_utf16
namespace std {template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf16 :public codecvt<Elem, char, mbstate_t>{public:explicit codecvt_utf16(size_t refs =0); ~codecvt_utf16();};}
[编辑]类 std::codecvt_utf8_utf16
namespace std {template<class Elem, unsignedlong Maxcode =0x10ffff, codecvt_mode Mode =(codecvt_mode)0>class codecvt_utf8_utf16 :public codecvt<Elem, char, mbstate_t>{public:explicit codecvt_utf8_utf16(size_t refs =0); ~codecvt_utf8_utf16();};}