vc中gb2312和UTF-8的转换

转载 2016年05月30日 17:31:58

#include "tools.h"

std::string GBToUTF8(const char* str)
{
     std::string result;
     WCHAR *strSrc;
     TCHAR *szRes;

     //获得临时变量的大小
     int i = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
     strSrc = new WCHAR[i+1];
     MultiByteToWideChar(CP_ACP, 0, str, -1, strSrc, i);

     //获得临时变量的大小
     i = WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, NULL, 0, NULL, NULL);
     szRes = new TCHAR[i+1];
     int j=WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, szRes, i, NULL, NULL);

     result = szRes;
     delete []strSrc;
     delete []szRes;

     return result;
}

http://blog.sina.com.cn/s/blog_3d14a6b90102uy8l.html

http://blog.csdn.net/charlessimonyi/article/details/8722859

相关文章推荐

VC++版 Unicode ANSI UTF-8 GB2312 相互转换代码

void AnsiToUnicode(char *szAnsi,WCHAR * szWs) { //必须保证szWs有足够的空间 int len = ::MultiByteToWideChar(...

vc中gb2312和UTF-8的转换

1、 1)tools.h #include #include /************************************************************...

VC6.0 UCS2(unicode) 与 GBK(gb2312) UTF(utf-8)格式互转

#include #include #include "windows.h" // 把UTF-8转换成Unicode void UTF_8ToUnicode(WCHAR* pOut,cha...

gb2312与utf-8转换

  • 2012年04月16日 22:58
  • 1.09MB
  • 下载

使用java的native2ascii工具命令来转换编码gbk,gb2312,utf-8【转】

native2ascii的用法 Sun也太吝啬了,也不多给点使用例子. 它的帮助只有:用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]...

linux 下URL中 UTF-8编码、GB2312编码与汉字之间的转换

下面是UTF-8编码的转换代码 #include #include #include /* 16进制字符表 */ static const char c2x_table[] = "01234...

C++将 URL转换成正常字符,支持 utf-8 和 gb2312

在做网站分析时,我们经常要分析baidu、google 等搜索引擎的搜索关键字,比如搜索“中国” 在 baidu 中是:http://www.baidu.com/s?wd=%D6%D0%B9%F...

GBK(GB2312)向UTF-8的编码转换 -- C++

转:http://hi.baidu.com/ilotus_y/blog/item/aec98cf32e4f6c55342accf3.html GBK(GB2312)向UTF-8的编码...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc中gb2312和UTF-8的转换
举报原因:
原因补充:

(最多只允许输入30个字)