c++ ANSI、UNICODE、UTF8互转 您所在的位置:网站首页 unicode编码转换ansi c++ ANSI、UNICODE、UTF8互转

c++ ANSI、UNICODE、UTF8互转

#c++ ANSI、UNICODE、UTF8互转| 来源: 网络整理| 查看: 265

std::wstring KKLogObject::MBytesToWString(const char* lpcszString){    int len = strlen(lpcszString);    int unicodeLen = ::MultiByteToWideChar(CP_ACP, 0, lpcszString, -1, NULL, 0);    wchar_t* pUnicode = new wchar_t[unicodeLen + 1];    memset(pUnicode, 0, (unicodeLen + 1) * sizeof(wchar_t));    ::MultiByteToWideChar(CP_ACP, 0, lpcszString, -1, (LPWSTR)pUnicode, unicodeLen);    wstring wString = (wchar_t*)pUnicode;    delete [] pUnicode;    return wString;}

std::string KKLogObject::WStringToMBytes(const wchar_t* lpwcszWString){    char* pElementText;    int iTextLen;    // wide char to multi char    iTextLen = ::WideCharToMultiByte(CP_ACP, 0, lpwcszWString, -1, NULL, 0, NULL, NULL);    pElementText = new char[iTextLen + 1];    memset((void*)pElementText, 0, (iTextLen + 1) * sizeof(char));    ::WideCharToMultiByte(CP_ACP, 0, lpwcszWString, 0, pElementText, iTextLen, NULL, NULL);    std::string strReturn(pElementText);    delete [] pElementText;    return strReturn;}

std::wstring KKLogObject::UTF8ToWString(const char* lpcszString){    int len = strlen(lpcszString);    int unicodeLen = ::MultiByteToWideChar(CP_UTF8, 0, lpcszString, -1, NULL, 0);    wchar_t* pUnicode;    pUnicode = new wchar_t[unicodeLen + 1];    memset((void*)pUnicode, 0, (unicodeLen + 1) * sizeof(wchar_t));    ::MultiByteToWideChar(CP_UTF8, 0, lpcszString, -1, (LPWSTR)pUnicode, unicodeLen);    wstring wstrReturn(pUnicode);    delete [] pUnicode;    return wstrReturn;}

std::string KKLogObject::WStringToUTF8(const wchar_t* lpwcszWString){    char* pElementText;    int iTextLen = ::WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)lpwcszWString, -1, NULL, 0, NULL, NULL);    pElementText = new char[iTextLen + 1];    memset((void*)pElementText, 0, (iTextLen + 1) * sizeof(char));    ::WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)lpwcszWString, -1, pElementText, iTextLen, NULL, NULL);    std::string strReturn(pElementText);    delete [] pElementText;    return strReturn;}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有