<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