UTF8和GB2312编码转换

转载 2013年12月03日 20:37:54

#include <string>

#include <Windows.h>
 
//UTF-8到GB2312的转换
char* UTF8ToGB(const char* utf8)
{
int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len+1];
memset(str, 0, len+1);
WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);
if(wstr) delete[] wstr;
return str;
}
 
//GB2312到UTF-8的转换
char* GBToUTF8(const char* gb2312)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len+1];
memset(str, 0, len+1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
if(wstr) delete[] wstr;
return str;
}

ps:函数里的形参必须是字符串常量

相关文章推荐

access数据库编码转换:将将UTF8替换为GB2312

代码
  • Draling
  • Draling
  • 2016年08月17日 12:56
  • 2295

自动将visual stdio创建的文件从gb2312编码转换成utf8编码

cocos2d-x是一个不错的手机游戏框架,不过由于在中文的windows系统下使用visual stdio2008默认创建的类文件,包括.h和.cpp,其文件编码都是gb2312的。当将这些文件在c...

gb2utf8编码转换

  • 2012年06月29日 02:35
  • 24KB
  • 下载

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

转:http://hi.baidu.com/ilotus_y/blog/item/aec98cf32e4f6c55342accf3.html GBK(GB2312)向UTF-8的编码...

form提交时的字符编码转换之utf-8转gb2312

  在IE下面指定表单提交编码方式 收藏 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却希望是GB2312编码的。在...
  • fox_lht
  • fox_lht
  • 2011年05月10日 15:44
  • 12401

VBS和ASP中的各种编码转换GB2312、UTF-8、Unicode、URL解码、二进制、十进制代码、十六进制

'UTF转GB---将UTF8编码文字转换为GB编码文字 function UTF2GB(UTFStr) for Dig=1 to len(UTFStr) '如果UTF8编码文字以%开头...
  • wqsys
  • wqsys
  • 2012年07月21日 10:11
  • 2824

ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明

出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码。  为...

gb2312_unicode_utf8汉字编码对照表

  • 2014年08月31日 19:45
  • 172KB
  • 下载

Javascript 实现gb2312和utf8编码的互换

转载地址 function getCodeStr(){  return codestr; }   function gb2utf(gbStr){  var codeStr = getC...

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

package com.android.filebrowser;   import java.io.*; import java.net.*;   public class FileEncodi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UTF8和GB2312编码转换
举报原因:
原因补充:

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