中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VS GBK編碼和UTF-8編碼轉換

發布時間:2020-06-25 08:18:10 來源:網絡 閱讀:4847 作者:fengyuzaitu 欄目:編程語言

#include <Windows.h>


// 注釋:多字節包括GBK和UTF-8

int GBK2UTF8(char *szGbk,char *szUtf8,int Len)

{

    // 先將多字節GBK(CP_ACP或ANSI)轉換成寬字符UTF-16

    // 得到轉換后,所需要的內存字符數

    int n = MultiByteToWideChar(CP_ACP,0,szGbk,-1,NULL,0);

    // 字符數乘以 sizeof(WCHAR) 得到字節數

    WCHAR *str1 = new WCHAR[sizeof(WCHAR) * n];

    // 轉換

    MultiByteToWideChar(CP_ACP,  // MultiByte的代碼頁Code Page

        0,            //附加標志,與音標有關

        szGbk,        // 輸入的GBK字符串

        -1,           // 輸入字符串長度,-1表示由函數內部計算

        str1,         // 輸出

        n             // 輸出所需分配的內存

        );


    // 再將寬字符(UTF-16)轉換多字節(UTF-8)

    n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL);

    if (n > Len)

    {

        delete[]str1;

        return -1;

    }

    WideCharToMultiByte(CP_UTF8, 0, str1, -1, szUtf8, n, NULL, NULL);

    delete[]str1;

    str1 = NULL;


    return 0;

}



//UTF-8 GBK

int UTF82GBK(char *szUtf8,char *szGbk,int Len)

{

    int n = MultiByteToWideChar(CP_UTF8, 0, szUtf8, -1, NULL, 0);

    WCHAR * wszGBK = new WCHAR[sizeof(WCHAR) * n];

    memset(wszGBK, 0, sizeof(WCHAR) * n);

    MultiByteToWideChar(CP_UTF8, 0,szUtf8,-1, wszGBK, n);


    n = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);

    if (n > Len)

    {

        delete[]wszGBK;

        return -1;

    }


    WideCharToMultiByte(CP_ACP,0, wszGBK, -1, szGbk, n, NULL, NULL);


    delete[]wszGBK;

    wszGBK = NULL;


    return 0;

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光山县| 饶平县| 安仁县| 兴国县| 合川市| 威远县| 滕州市| 光泽县| 龙南县| 鹿邑县| 河津市| 德惠市| 库伦旗| 伊宁市| 鄂州市| 南涧| 崇仁县| 木里| 普陀区| 乐东| 无极县| 诸城市| 沿河| 大同市| 南乐县| 炉霍县| 乐安县| 咸宁市| 宁阳县| 韶山市| 奉化市| 青冈县| 平湖市| 敖汉旗| 余庆县| 晋宁县| 芜湖县| 福安市| 铁岭县| 隆昌县| 原平市|