Z
ztaif
Unregistered / Unconfirmed
GUEST, unregistred user!
int CSmsExampleDlg::gsmEncodeUcs2(const char* pSrc, unsigned char* pDst, int nSrcLength)
{
int nDstLength
// UNICODE宽字符数目
WCHAR wchar[128]
// UNICODE串缓冲区
// 字符串-->UNICODE串
nDstLength = ::MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLength, wchar, 128);
// 高低字节对调,输出
for(int i=0
i<nDstLength
i++)
{
// 先输出高位字节
*pDst++ = wchar >> 8;
// 后输出低位字节
*pDst++ = wchar &
0xff;
}
*pDst='/0';
// 返回目标编码串长度
return nDstLength * 2
}
int CSmsExampleDlg::gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength)
{
int nDstLength
// UNICODE宽字符数目
WCHAR wchar[128]
// UNICODE串缓冲区
// 高低字节对调,拼成UNICODE
for(int i=0
i<nSrcLength/2
i++)
{
// 先高位字节
wchar = *pSrc++ << 8;
// 后低位字节
wchar |= *pSrc++;
}
// UNICODE串-->字符串
nDstLength = ::WideCharToMultiByte(CP_ACP, 0, wchar, nSrcLength/2, pDst, 160, NULL, NULL);
// 输出字符串加个结束符
pDst[nDstLength] = '/0'
// 返回目标字符串长度
return nDstLength;
}
自己试了一下,翻译过来不能用,不明白那里有问题,请懂C++ 和Delhpide的兄弟帮帮忙翻译一下
{
int nDstLength
// UNICODE宽字符数目
WCHAR wchar[128]
// UNICODE串缓冲区
// 字符串-->UNICODE串
nDstLength = ::MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLength, wchar, 128);
// 高低字节对调,输出
for(int i=0
i<nDstLength
i++)
{
// 先输出高位字节
*pDst++ = wchar >> 8;
// 后输出低位字节
*pDst++ = wchar &
0xff;
}
*pDst='/0';
// 返回目标编码串长度
return nDstLength * 2
}
int CSmsExampleDlg::gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength)
{
int nDstLength
// UNICODE宽字符数目
WCHAR wchar[128]
// UNICODE串缓冲区
// 高低字节对调,拼成UNICODE
for(int i=0
i<nSrcLength/2
i++)
{
// 先高位字节
wchar = *pSrc++ << 8;
// 后低位字节
wchar |= *pSrc++;
}
// UNICODE串-->字符串
nDstLength = ::WideCharToMultiByte(CP_ACP, 0, wchar, nSrcLength/2, pDst, 160, NULL, NULL);
// 输出字符串加个结束符
pDst[nDstLength] = '/0'
// 返回目标字符串长度
return nDstLength;
}
自己试了一下,翻译过来不能用,不明白那里有问题,请懂C++ 和Delhpide的兄弟帮帮忙翻译一下