当前位置:首页 > 日记 > 正文

常用于开发SMS初学者的几个函数。

常用于开发SMS初学者的几个函数。

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


相关文章

淘宝大物流计划是容易买卖家

淘宝大物流计划是容易买卖家

计划,淘宝,卖家,物流,电脑软件,淘宝大物流计划上线 方便买卖家:每天,淘宝网上卖家发出的实物包裹达到500万件,不少生意红火的卖家经常埋头于繁琐的包装、贴运单、寄邮包中,但今后,他们有望从中解脱出来;而买家也可在不同店铺拍了商品后,合并在一个…

判断GIF图像大小的方法

判断GIF图像大小的方法

方法,图像,大小,电脑软件,GIF,                                                                                                   …

一个简单的旅游最强大的促销倒计时

一个简单的旅游最强大的促销倒计时

折扣,促销,倒计时,强大,简单,日前,众多玩家翘首以盼的简单游7.0版本已经正式公测了,其炫酷的外观和出色的脚本执行速度,也让越来越多的玩家享受到了全新的网游体验。公测活动期间,玩家不仅能够享受性能强劲的脚本服务,更能获得超值的促销折扣。…

火狐正在消耗IE的市场份额。

火狐正在消耗IE的市场份额。

市场份额,火狐,消耗,电脑软件, 无论FireFox是否真的在性能上象它的支持者们声称的那样超过了IE,它都如愿以偿的蚕食着IE的市场份额。 CNET报道了一则消息,一家位于荷兰阿姆斯特丹的网络流量统计调查公司宣称,根据他们对全球两百万用户…

使用win7音量合成器来控制不同声源

使用win7音量合成器来控制不同声源

合成器,控制,声源,音量,体积,计算机可以同时播放不同软件程序的声音。如果你听的歌,看电影,玩QQ等,可以控制声音发出不同的软件通过Windows7系统音量合成器的体积。方法是:点击右下角任务栏图标选择语音合成器{}以上,体积{ }合成器装置体积是一…

Chrome超越IE成为全球最大浏览器

Chrome超越IE成为全球最大浏览器

浏览器,全球最大,电脑软件,Chrome,StatCounter的最新数据,美国的市场研究公司,表明,Chrome已经超越IE在全球浏览器市场已成为第一大浏览器。 今年5月,Chrome的全球份额约为33.69%,首次超过IE的29.91%,火狐相对流畅,全球占有率约为24.39%。 2011至…

黑莓BBM解除预约机制,对所有用户开

黑莓BBM解除预约机制,对所有用户开

用户,机制,黑莓,电脑软件,BBM,{ } 10月28日消息,上周,黑莓的BBM正式下载在Android和iOS平台,但它是登记和登录在线有趣。据官方消息,由于存在大量的注册和登录的应用太多,发布24小时就吸引了1000万的下载量,以防止服务器停机时间,不得不采取预约机…

百度输入法1.0.16.35新版

百度输入法1.0.16.35新版

输入法,百度,新版,电脑软件,百度输入法1.0.16.35新版正式发布。 新增输入法词库和配置漫游功能,支持百度帐号注册和登录,随时随地同步个人词库和配置。优化:1.优化联想输入策略,联想效果更符合实际场景;2.优化云输入结果,云输入匹配更合理;3.优化…

q深化QQ会员中心特权

q深化QQ会员中心特权

特权,会员中心,电脑软件,QQ,最近,Android的手机QQ 4.5版本正式推出。尚未公开暴露在测试阶段的会员中心;在这个时候出现在动态在标签的明显位置位于游戏中心、阅读中心等服务。与QQ会员特权的最后一个版本,它已登陆QQ的第一时间,和频繁的行动足…

win7的家庭版在线升级到终极的方法

win7的家庭版在线升级到终极的方法

家庭版,方法,在线,序列号,升级到,Windows7家庭版没有玻璃效果,不能设置为主题的XP系统的使用,所以家庭版升级到最终是可以解决的。Windows7系统不改变升级后的软件和文档的原始安装。所以易用性。以下是升级方法: 计算机必须连接到网络。点击…

愤怒的小鸟下载5亿,或将被拍摄。

愤怒的小鸟下载5亿,或将被拍摄。

下载,将被,小鸟,愤怒,电脑软件,据国外媒体11月3日消息,手机游戏厂商Rovio昨日宣布其本公司的热门游戏在全国下载量已经破5亿,并打算将愤怒的小鸟搬上电影屏幕。  Rovio首席营销官彼得韦斯特柏卡(Peter Vesterbacka)在赫尔辛基的一个会议上…

字体狂热:请为字体库找保姆

字体狂热:请为字体库找保姆

字体,狂热,保姆,字体库,电脑软件,  文/刘桂全 在文档处理或美术设计中,为了达到美观或其它的要求,我们可能需要安装并使用非系统自带的各种特殊的字体,一旦重新安装系统,就需要再去找这些字体以安装;有时系统里安装了太多不需要的字体,一个…