멀티/유니->utf8, utf8->멀티/유니
const char* uni_to_utf8(const wchar_t* unicode)
{
static CString utf8;
size_t len = wcslen(unicode);
int szutf8 = WideCharToMultiByte(CP_UTF8, 0, unicode, len, utf8.GetBufferSetLength( len * 4 ), len*4, 0, 0);
utf8.GetBufferSetLength( szutf8 );
return utf8.GetString();
}
const wchar_t* utf8_to_uni(const char* utf8)
{
static CStringW unicode;
unicode.Empty();
size_t len = strlen(utf8);
int szuni = MultiByteToWideChar(CP_UTF8, 0, utf8, len, unicode.GetBufferSetLength(len), len);
return unicode.GetBufferSetLength(szuni);
}
const char* ansi_to_utf8(const char* ansi)
{
return uni_to_utf8 (CStringW(ansi));
}
const char* utf8_to_ansi(const char* utf8)
{
static CString ansi;
ansi.Empty();
ansi = utf8_to_uni(utf8);
return ansi;
}