<codecvt>
定義數個類別範本,這些範本會根據類別範本 codecvt來描述物件。 這些物件可以作為地區設定 Facet,以控制 Elem
類型的值序列和 char
類型的值序列之間的轉換。
語法
#include <codecvt>
備註
此標頭中宣告的地區設定 Facet 可在數種字元編碼之間進行轉換。 若是寬字元 (以固定大小的整數形式儲存在程式內)︰
UCS-4 會在程式內以 Unicode (ISO 10646) 編碼為 32 位元整數。
UCS-2 會在程式內以 Unicode 編碼為 16 位元整數。
UTF-16 會在程式內以 Unicode 編碼為一個或兩個 16 位元整數。 (請注意,這不符合標準 C 或標準C++之有效寬字元編碼的所有需求。然而,它被廣泛用作此類。
若是位元組資料流 (儲存在檔案、以位元組序列傳輸,或儲存在 char
陣列中的程式內):
UTF-8 會在位元組資料流內以 Unicode 編碼為一或多個 8 位元位元組 (按具決定性的位元組順序)。
UTF-16LE 會在位元組資料流內以 Unicode 編碼為 UTF-16 (其中每個 16 位元整數會顯示為兩個 8 位元位元組,較不顯著的位元組在前)。
UTF-16BE 會在位元組資料流內以 Unicode 編碼為 UTF-16 (其中每個 16 位元整數會顯示為兩個 8 位元位元組,較顯著的位元組在前)。
列舉
名稱 | 描述 |
---|---|
codecvt_mode | 指定地區設定 Facet 的設定資訊。 |
類別
類別 | 描述 |
---|---|
codecvt_utf8 | 代表地區設定 Facet,其可在 UCS-2 或 UCS-4 編碼的寬字元以及 UTF-8 編碼的位元組資料流之間進行轉換。 |
codecvt_utf8_utf16 | 代表地區設定 Facet,其可在 UTF-16 編碼的寬字元以及 UTF-8 編碼的位元組資料流之間進行轉換。 |
codecvt_utf16 | 代表地區設定 Facet,其可在 UCS-2 或 UCS-4 編碼的寬字元以及 UTF-16LE 或 UTF-16BE 編碼的位元組資料流之間進行轉換。 |
需求
Header:<codecvt>
命名空間:std