Shift JIS 文字コードを Unicode (UTF-16) に変換する
バージョン 4.0.3 以降
SFXTextEncoding::ShiftJISToUTF16BE() 関数または
SFXTextEncoding::ShiftJISToUTF16LE() 関数を利用することができます。
SFXAnsiString shiftJISstr("abc"); // 変換したい Shift JIS 文字列 SFXWideString utf16str; SFXTextEncoding::ShiftJISToUTF16LE(shiftJISstr, &utf16str);
バージョン 4.0.3 以前
Shift JIS 文字コードを Unicode (UTF-16) に変換するには、KDDI 拡張の
SFBKDDIUnicodeSJIS::SjistoUnicode16 関数を使用します。
SFXAnsiString shiftJISstr("abc"); // 変換したい Shift JIS 文字列 SFXWideString utf16str; SFBKDDIUnicodeSJISSmp jis = SFBKDDIUnicodeSJIS::NewInstance(); if (jis != null) { utf16str.SetLength(shiftJISstr.GetLengthCString() * 2); // Shift-JISをUnicodeに変換する if (jis->SjistoUnicode16(&shiftJISstr, &utf16str)) { // 変換成功 utf16str = utf16str.Truncate(); // 末尾切り捨て // 変換後の文字列は utf16str に } }
参照 SFBKDDIUnicodeSJIS::NewInstance | SFBKDDIUnicodeSJIS::SjistoUnicode16 |
SFXAnsiString::SetLength | SFXAnsiString::Truncate