次の方法で共有


<codecvt>

クラス テンプレート codecvt に基づいてオブジェクトを記述するいくつかのクラス テンプレートを定義します。 これらのオブジェクトは、Elem 型の値のシーケンスと char 型の値のシーケンスとの変換を制御するロケール ファセットとして使用できます。

構文

#include <codecvt>

解説

このヘッダーで宣言されているロケール ファセットは、いくつかの文字エンコード間の変換を行います。 ワイド文字 (固定サイズの整数で表され、プログラム内に格納される) については、次のようになります。

  • UCS-4 は、32 ビットの整数で表される、プログラムにおける Unicode (ISO 10646) のエンコード形式です。

  • UCS-2 は、16 ビットの整数で表される、プログラムにおける Unicode のエンコード形式です。

  • UTF-16 は、1 つまたは 2 つの 16 ビットの整数で表される、プログラムにおける Unicode のエンコード形式です (これは、Standard C または Standard C++ の有効なワイド文字エンコードのすべての要件を満たしているわけではないことに注意してください。それにもかかわらず、それは広くそのように使用されています。

バイト ストリーム (ファイルに格納されるか、バイト シーケンスとして送信されるか、あるいは char の配列でプログラム内に格納される) については、次のようになります。

  • UTF-8 は、バイト順が確定されている 1 つ以上の 8 ビット バイトで表される、バイト ストリームにおける Unicode のエンコード形式です。

  • UTF-16LE は、16 ビット整数がそれぞれ 2 つの 8 ビット バイト (最初が下位バイト) で表される UTF-16 と同様のバイト ストリームにおける Unicode のエンコード形式です。

  • UTF-16BE は、16 ビット整数がそれぞれ 2 つの 8 ビット バイト (最初が上位バイト) で表される、UTF-16 と同様のバイト ストリームにおける Unicode のエンコード形式です。

列挙型

名前 説明
codecvt_mode ロケール ファセットの構成情報を指定します。

クラス

クラス 説明
codecvt_utf8 UCS-2 または UCS-4 としてエンコードされたワイド文字と、UTF-8 としてエンコードされたバイト ストリームを変換するロケール ファセットを表します。
codecvt_utf8_utf16 UTF-16 としてエンコードされたワイド文字と、UTF-8 としてエンコードされたバイト ストリームを変換するロケール ファセットを表します。
codecvt_utf16 UCS-2 または UCS-4 としてエンコードされたワイド文字と、UTF-16LE または UTF-16BE としてエンコードされたバイト ストリームを変換するロケール ファセットを表します。

要件

ヘッダー:<codecvt>

名前空間: std

関連項目

ヘッダー ファイル リファレンス