static wstring unicode2string(char * str){
wstring rst;
bool escape = false;
int len = strlen(str);
int intHex;
char tmp[5];
memset(tmp, 0, 5);
for (int i = 0; i < len; i++)
{
char c = str[i];
switch (c)
{
case '//':
case '%':
escape = true;
break;
case 'u':
case 'U':
if (escape)
{
memcpy(tmp, str+i+1, 4);
sscanf(tmp, "%x", &intHex); //把16进制字符转换为数字
rst.push_back(intHex);
i+=4;
escape=false;
}else{
rst.push_back(c);
}
break;
default:
rst.push_back(c);
break;
}
}
return rst;
}