您的位置:首页-> 技术开发-> SMS学院-> 对于开发SMS初学者的,经常用到的几个函数。

对于开发SMS初学者的,经常用到的几个函数。
作者:admin 时间:2003-2-14  来自:ASP教程  选择阅读文体:


/*****************************************************************************
* 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;
}




上一篇:移动业务代码规范方案 下一篇:一个文本转2进制的函数

GoogLe中搜索“对于开发SMS初学者的,经常用到的几个函数。”相关内容...
百 度 中搜索“对于开发SMS初学者的,经常用到的几个函数。”相关内容...
一 搜 中搜索“对于开发SMS初学者的,经常用到的几个函数。”相关内容...

相关文章

.Net专栏
Script
ASP学院
PHP学院
Web服务器
CGI学院
XML学院
SQL学院
JSP学院
SMS学院
提升QQ等级 QQ挂机升级外挂
国内首发 韩国版QQ自定义头像
挖掘Windows XP系统安装盘中的神秘宝藏
初见photoshop8.0的庐山真面目!
BT下载速度之战:Bitcomet对决比特精灵
腾讯最新漏洞-------QQ红钻任你拿
Windows XP 的安装
如何制作万能DVD
浅谈Windows XP SP2补丁包的安装及使用
RM,RMVB转VCD
手机短信息SMS的程序开发
编写SMS程序入门
基于CMPP2及东软API短信平台的开
移动通信客户服务中心话费查询及缴纳手机业务流程示意图
用C#设计在局域网发送短信的程序
对于开发SMS初学者的,经常用到的几个函数。
无线移动短信息服务平台(上)
在PC上通过手机发送短消息
各网关厂商API接口
短消息网关通信模块的设计与实现