zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    Swift app中的Crash捕获与处理
    10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides(转)
    Browserify使用指南(转)
    开启mac terminal 命令/路径自动补全功能
    selenium--定位元素
    selenium--断言方法
    selenium--unittest框架
    苹果手机对应版本
    Pycharm2019激活
    接口上传图片方法
  • 原文地址:https://www.cnblogs.com/doudongchun/p/3699655.html
Copyright © 2011-2022 走看看