zoukankan      html  css  js  c++  java
  • Visual C++ unicode and utf8 转换

    ATL宏:

    USES_CONVERSION;

    W2A

    A2W

    CString StringUtil::UTF8_to_UNICODE(const char *utf8_string, int length)
    {
        int wcsLen = ::MultiByteToWideChar(CP_UTF8, NULL, utf8_string, length, NULL, 0);   
        wchar_t* wszString = new wchar_t[wcsLen + 1];
        ::MultiByteToWideChar(CP_UTF8, NULL, utf8_string, length, wszString, wcsLen);
        wszString[wcsLen] = '';
        CString unicodeText(wszString); 
        delete[] wszString;

        return unicodeText;
    }

    void StringUtil::UNICODE_to_UTF8(const CString& unicodeString, std::string& str)
    {
        int stringLength = ::WideCharToMultiByte(CP_UTF8, NULL, unicodeString, wcslen(unicodeString), NULL, 0, NULL, NULL);

        char* buffer = new char[stringLength + 1];
        ::WideCharToMultiByte(CP_UTF8, NULL, unicodeString, wcslen(unicodeString), buffer, stringLength, NULL, NULL);
        buffer[stringLength] = '';

        str = buffer;

        delete[] buffer;
    }

  • 相关阅读:
    php 手动搭建环境
    C#开源大全项目
    基于Aforge的物体运动识别-入门
    第二阶段站立会议02
    第二阶段站立会议01
    第一次绩效评估
    意见评论
    团队项目评论
    意见汇总
    对“小小之植物人”的博客检查结果
  • 原文地址:https://www.cnblogs.com/lidabo/p/3903616.html
Copyright © 2011-2022 走看看