Wstring utf8tounicode (const string & Str)
{
Int Len = 0;
Len = Str. Length ();
Int unicodelen =: multibytetowidechar (cp_utf8,
0,
Str. c_str (),
-1,
Null,
0 );
Wchar_t * punicode;
Punicode = new wchar_t [unicodelen + 1];
Memset (punicode, 0, (unicodelen + 1) * sizeof (wchar_t ));
: Multibytetowidechar (cp_utf8,
0,
Str. c_str (),
-1,
(Lpwstr) punicode,
Unicodelen );
Wstring RT;
RT = (wchar_t *) punicode;
Delete punicode;
Return RT;
}
string unicodetoutf8 (const wstring & Str)
{< br> char * pelementtext;
int itextlen;
// wide Char to multi char
itextlen = widechartomultibyte (cp_utf8,
0,
Str. c_str (),
-1,
null,
0,
null,
null );
pelementtext = new char [itextlen + 1];
memset (void *) pelementtext, 0, sizeof (char) * (itextlen + 1 ));
: widechartomultibyte (cp_utf8,
0,
Str. c_str (),
-1,
pelementtext,
itextlen,
null,
null);
string strtext;
strtext = pelementtext;
Delete [] pelementtext;
return strtext;
}