GBK转UTF8
来源:互联网 发布:mysql中primary key 编辑:程序博客网 时间:2024/05/29 07:38
char outRoleName[34] = {0};
ConvertCode("gbk", "UTF-8", pszGBK, outRoleName, 34);
bool ConvertCode(const char* fromcode, const char* tocode, const char* src, char* destbuf, size_t destbufsize)
{
//GBK to UTF8
wchar_t * lpUnicodeStr = NULL;
int nRetLen = 0;
if(!src) //如果GBK字符串为NULL则出错退出
{
return false;
}
nRetLen = ::MultiByteToWideChar(CP_ACP,0,(char *)src,-1,NULL,NULL); //获取转换到Unicode编码后所需要的字符空间长度
lpUnicodeStr = new WCHAR[nRetLen + 1]; //为Unicode字符串空间
nRetLen = ::MultiByteToWideChar(CP_ACP,0,(char *)src,-1,lpUnicodeStr,nRetLen); //转换到Unicode编码
if(!nRetLen) //转换失败则出错退出
{
return false;
}
nRetLen = ::WideCharToMultiByte(CP_UTF8,0,lpUnicodeStr,-1,NULL,0,NULL,NULL); //获取转换到UTF8编码后所需要的字符空间长度
if(!destbuf) //输出缓冲区为空则返回转换后需要的空间大小
{
return false;
}
if(destbufsize < nRetLen) //如果输出缓冲区长度不够则退出
{
if(lpUnicodeStr)
{
delete []lpUnicodeStr;
}
return false;
}
nRetLen = ::WideCharToMultiByte(CP_UTF8,0,lpUnicodeStr,-1,(char *)destbuf,destbufsize,NULL,NULL); //转换到UTF8编码
if(lpUnicodeStr)
delete []lpUnicodeStr;
return true;
}
- GBK转UTF8
- GBK 转 UTF8
- GBK源码转UTF8
- perl utf8 转gbk
- gbk转utf8
- GBK转UTF8
- java gbk转utf8
- utf8转GBK
- Ubuntu gbk转utf8
- GBK文件转UTF8文件
- LINUX GBK转UTF8 命令
- oracle utf8字符集转gbk
- UTF8 转 UNICODE GBK ANSI
- linux 乱码 GBK转UTF8
- gbk转utf8 乱码问题
- python unicode 转utf8,转gbk
- IPhone xml 文件GBK 转 UTF8
- IPhone xml 文件GBK 转 UTF8
- 软件测试方法
- LayoutInflater的inflate函数用法详解
- java nio mina 学习笔记2 介绍Mina的TCP的主要接口
- Android实现XML解析技术
- Python_API_zipfile.ZipFile_待填充
- GBK转UTF8
- 董淳光SQLITE3使用总结
- Linux FTP 命令全集
- 使用Innosetup制作安装包的一些技巧
- JNI学习积累之一 ---- 常用函数大全
- delphi中建立快捷方式的函数
- Oracle 11g R2 listener.ora&tnsnames.ora Sample
- 【Java基础】——之线程同步
- glReadPixels