首页 > Windows开发 > 详细

windows平台编码转换

时间:2020-06-22 20:12:32      阅读:55      评论:0      收藏:0      [点我收藏+]
int AsciiToUtf8(char* pSrc, unsigned int nSrcLen, char* pBuffer, unsigned int nBufferLen)
{
    assert(pSrc != NULL);

    int nRet(0);
    int nUtf16Len = MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLen, NULL, 0);
    if(nUtf16Len > 0)
    {
        wchar_t* pW = new wchar_t[nUtf16Len];
        if(pW != NULL)
        {
            nUtf16Len = MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLen, pW, nUtf16Len);

            if(pBuffer == NULL || nBufferLen <= 0)
            {
                nRet = WideCharToMultiByte(CP_UTF8, 0, pW, nUtf16Len, NULL, 0, NULL, NULL);
            }
            else
            {
                nRet = WideCharToMultiByte(CP_UTF8, 0, pW, nUtf16Len, pBuffer, nBufferLen, NULL, NULL);
            }

            delete []pW;
            pW = NULL;
        }
    }

    return nRet;
}

 

windows平台编码转换

原文:https://www.cnblogs.com/hookjc/p/13178585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!