資源簡介
GB2312編碼與utf-8編碼的字符串的轉換,主要使用windows api函數MultiByteToWideChar和WideCharToMultiByte,代碼簡潔,經測試可用
代碼片段和文件信息
#include?
#include?
#include?
/*************************************************
*將GB2312編碼的字符串轉為UTF-8編碼
*輸入:
*p:指向待轉碼字符串
*返回:
*指向已轉碼字符串的指針
*過程:
*將GB2312轉為Unicode編碼
*再將Unicode轉為UTF-8
*************************************************/
char*?Gb2312ToUtf8(char?*p){
DWORD?dwNum?=?MultiByteToWideChar(CP_ACP?0?p?-1?NULL?0);
char?*psText;
wchar_t?*pwText?=?(wchar_t*)malloc(dwNum*sizeof(wchar_t));
dwNum?=?MultiByteToWideChar(CP_ACP?0?p?-1?pwText?dwNum?);
dwNum?=?WideCharToMultiByte(CP_UTF80pwText-1NULL0NULLNULL);
psText=(char*)malloc(dwNum*sizeof(char));
dwNum?=?WideCharToMultiByte(CP_UTF80pwText-1psTextdwNumNULLNULL);
free(pwText);
return?psText;
}
/*************************************************
*將UTF-8編碼的字符串轉為GB2312編碼
*輸入:
*p:指向待轉碼字符串
*返回:
*指向已轉碼字符串的指針
*過程:
*將UTF-8轉為Unicode編碼
*再將Unicode轉為GB2312
***************************************
評論
共有 條評論