资源简介

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
***************************************

评论

共有 条评论