UTF-8 文字コードを UTF-16 に変換する
バージョン 4.0.3 以降
SFXTextEncoding::UTF8ToUTF16BE() 関数または
SFXTextEncoding::UTF8ToUTF16LE() 関数を利用することができます。
SFXAnsiString utf8str("abc"); // 変換したい UTF-8 文字列 SFXWideString utf16str; SFXTextEncoding::UTF8ToUTF16LE(utf8str, &utf16str);
バージョン 4.0.3 以前
UTF-8 文字コードを UTF-16 に変換するには、SFXHelper::utf8towstr 関数を使用します。
SFXAnsiString utf8str("abc"); // 変換したい UTF-8 文字列 SFXWideString utf16str; // あらかじめ領域を確保 utf16str.SetLength(utf8str.GetLengthCString()); // UTF-8をUTF-16に変換するSFのヘルパー関数 if (SFXHelper::utf8towstr( utf8str.GetCString(), utf8str.GetLengthCString(), utf16str.GetBuffer(), utf16str.GetLength() * 2)) { // 成功した場合 utf16str = utf16str.Truncate(); // 末尾切り捨て // 変換完了 }