# 标准库头文件 <codecvt>

< cpp‎ | header

此头文件是本地化库的一部分。

### 类
codecvt_utf8 (C++11)(C++17 中弃用) | 在 UTF-8 与 UCS2/UCS4 间转换 (类模板)
codecvt_utf16 (C++11)(C++17 中弃用) | 在 UTF-16 与 UCS2/UCS4 间转换 (类模板)
codecvt_utf8_utf16 (C++11)(C++17 中弃用) | 在 UTF-8 与 UTF-16 间转换 (类模板)
codecvt_mode (C++11)(C++17 中弃用) | 用于改变标准 codecvt 刻面行为的标签 (枚举)

### 概要

    namespace std {
      enum codecvt_mode {
        consume_header = 4,
        generate_header = 2,
        little_endian = 1
      };

      template<class Elem, unsigned long Maxcode = 0x10ffff,
               codecvt_mode Mode = (codecvt_mode)0>
        class codecvt_utf8;

      template<class Elem, unsigned long Maxcode = 0x10ffff,
               codecvt_mode Mode = (codecvt_mode)0>
        class codecvt_utf16;

      template<class Elem, unsigned long Maxcode = 0x10ffff,
               codecvt_mode Mode = (codecvt_mode)0>
        class codecvt_utf8_utf16;
    }

#### 类 std::codecvt_utf8

    namespace std {
      template<class Elem, unsigned long 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, unsigned long 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, unsigned long 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();
        };
    }