• MultiByteToWideChar和WideCharToMultiByte


    CString UTF8ToGB2312(CString str)

    {

    int len;

    // UTF8转换成Unicode

    len = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);

    wchar_t *pUnicode = new wchar_t[len+1];

    memset(pUnicode, 0, (len+1)*sizeof(wchar_t));

    MultiByteToWideChar(CP_UTF8, 0, str, -1, (LPWSTR)pUnicode, len);

    // Unicode转换成GB2312

    len = WideCharToMultiByte(CP_ACP, 0, (LPWSTR)pUnicode, -1, NULL, 0, NULL, NULL);

    CHAR *pTarget = new CHAR[len+1];

    memset(pTarget, 0, len+1);

    WideCharToMultiByte(CP_ACP, 0, (LPWSTR)pUnicode, -1, pTarget, len, NULL, NULL);

    CString rt;

    rt.Format("%s",pTarget);

    delete []pUnicode;

    delete []pTarget;

    return rt;

    }

    CString GB2312ToUTF8(CString str)

    {

    int len;

    // GB2312转换成Unicode

    len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);

    wchar_t *pUnicode = new wchar_t[len+1];

    memset(pUnicode, 0, (len+1)*sizeof(wchar_t));

    MultiByteToWideChar(CP_ACP, 0, str, -1, (LPWSTR)pUnicode, len);

    // Unicode转换成UTF8

    len = WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)pUnicode, -1, NULL, 0, NULL, NULL);

    CHAR *pTarget = new CHAR[len+1];

    memset(pTarget, 0, len+1);

    WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)pUnicode, -1, pTarget, len, NULL, NULL);

    CString rt;

    rt.Format("%s",pTarget);

    delete []pUnicode;

    delete []pTarget;

    return rt;

    }

  • 相关阅读:
    何谓B/S架构,C/S架构,SOA架构?
    Android牟利之道广告平台的介绍
    软件开发工具介绍
    jQuery Mobile 入门教程
    程序员的编辑器——VIM
    优秀程序员值得借鉴的一些信息
    程序员必备利器——敏捷软件
    PhoneGap Build的使用
    PhoneGap简单介绍
    ceph16.2.6 cephfs mds源码阅读
  • 原文地址:https://www.cnblogs.com/doudongchun/p/3699655.html
Copyright © 2020-2023  润新知