欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
安全、杀毒软件厂商误报提交方法大全 【宇轩】ASP WEB服务器
未知  C++中实现字符串编码转换GBK转UTF8
[ 发布日期:12个月前 (12-05) ]   [ 来自:本站原创 ] [分类:C\C++相关]
在C++中实现GBK和Utf8字符串的互转。
先定义字符串编码的codepage值。
#define CP_GBK 936
#define CP_UTF8 65001

Utf8字符串转GBK
[复制到剪贴板]


void Utf8Gbk
(const CStringszUtf8CStringszGbk)
{
    
int buffLen 0;
    
int wlen szUtf8.GetLength();

    
WCHARwbuff = new WCHAR[wlen+1];

    
MultiByteToWideChar(CP_UTF80szUtf8, -1wbuffwlen);

    
buffLen WideCharToMultiByte(CP_GBK0wbuff, -1NULL000);
    
chargbk = new char[buffLen+1];
    
WideCharToMultiByte(CP_GBK0wbuff, -1, (LPSTR)gbkbuffLen00);

    
delete[]wbuff;

    
szGbk gbk;

    
delete[]gbk;    




GBK字符串转Utf8
[复制到剪贴板]


void GbkUtf8
(const CStringszGbkCStringszUtf8)
{
    
int buffLen 0;
    
int wlen szGbk.GetLength()*3;

    
WCHARwbuff = new WCHAR[wlen+1];

    
MultiByteToWideChar(CP_GBK0szGbk, -1wbuffwlen);

    
buffLen WideCharToMultiByte(CP_UTF80wbuff, -1NULL000);
    
charutf8 = new char[buffLen+1];
    
WideCharToMultiByte(CP_UTF80wbuff, -1, (LPSTR)utf8buffLen00);

    
delete[]wbuff;

    
szUtf8 utf8;

    
delete[]utf8;    



引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/293
复制引用地址https://www.rickw.cn/trackback/293/GBK
[ 分类:C\C++相关  | 查看:850 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5