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