/*****************************************************************************
* Class : Global Function
* Function : to_MultiByte
* Description: 把Unicode转换成多字节
* Parameters : char* strSM -- 要转换的Unicode缓冲
* int nLength -- Unicode缓冲的长度
* Return : 转换后的多字节字串
* Input :
* Output :
* History : Created by Rongdian Monday, April 29, 2002 11:03:15
* Process :
******************************************************************************/
CString to_MultiByte(char* strSM, int nLength){
UINT nLen = 0;
PBYTE lpszM;
PBYTE lpszW = new BYTE[nLength];
memcpy(lpszW, strSM, nLength);
for(int i = 0; i < nLength/2; i++)
*((unsigned short*)lpszW + i) = ntohs(*((unsigned short*)lpszW + i));
nLen = WideCharToMultiByte(936, WC_COMPOSITECHECK,
(const unsigned short*)lpszW, nLength/2, NULL, 0, NULL, NULL);
lpszM = new BYTE[nLen+1];
nLen = WideCharToMultiByte(936, WC_COMPOSITECHECK,
(const unsigned short*)lpszW, nLength/2, (char*)lpszM, nLen, NULL, NULL);
lpszM[nLen] = 0;
CString csSM((LPCTSTR)lpszM, nLen);
delete lpszM;
delete lpszW;
return csSM;
}
/*****************************************************************************
* Class : Global Function
* Function : to_UCS2
* Description: 把多字节转换成Unicode
* Parameters : char* strSM -- -- 要转换的多字节缓冲
* int nLength -- 多字节缓冲的长度
* Return : 转换后的Unicode字串
******************************************************************************/
CString to_UCS2(char* strSM, int nLength){
CString csSM((LPCTSTR)strSM, nLength);
PBYTE lpszW = NULL;
UINT nLen = 0;
nLen = MultiByteToWideChar(936, MB_PRECOMPOSED,
(LPCTSTR)csSM, csSM.GetLength(), NULL, 0);
lpszW = new BYTE[nLen * 2];
nLen = MultiByteToWideChar(936, MB_PRECOMPOSED,
(LPCTSTR)csSM, csSM.GetLength(), (LPWSTR)lpszW, nLen);
for(UINT i = 0; i < nLen; i ++)
*((unsigned short*)lpszW + i) = htons(*((unsigned short*)lpszW + i));
CString csRet((LPCTSTR)lpszW, nLen * 2);
delete lpszW;
return csRet;
}
评论加载中...- 2007-9-14MIDI文件结构分析及生成方法
- 2007-9-14EMS图片格式转换(Java)程序
- 2007-9-14图片格式整理(增加alcatel)
- 2007-9-14手机铃声格式规范,midi格式规范
- 2007-9-14一个偏门:固话短信的信息格式约定
- 2007-9-14CMPP CONNECT CODE SAMPLE
- 2007-9-14CMPP的SUBMIT 包的CODE SAMPLE
- 2007-9-14CMPP ACTIVE TEST
- 2007-9-14CMPP ACTIVETEST RESPONSE
- 2007-9-14CMPP DELIVER
