加载中…
个人资料
黄双斗
黄双斗
  • 博客等级:
  • 博客积分:0
  • 博客访问:8,123
  • 关注人气:230
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

如何将Utf-8编码转换成ANSI编码

(2011-07-28 12:47:53)
标签:

杂谈

分类: 编程
CString   Convert(CString   str,   int   sourceCodepage,   int   targetCodepage)
{
int   len=str.GetLength();

int   unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0);

wchar_t *   pUnicode;
pUnicode=new   wchar_t[unicodeLen+1];

memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));


MultiByteToWideChar(sourceCodepage,0,str,-1,(LPWSTR)pUnicode,unicodeLen);

BYTE   *   pTargetData;
int   targetLen=WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char   *)pTargetData,0,NULL,NULL);

pTargetData=new   BYTE[targetLen+1];
memset(pTargetData,0,targetLen+1);

WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char   *)pTargetData,targetLen,NULL,NULL);

CString   rt;
rt.Format( "%s ",pTargetData);

delete   pUnicode;
delete   pTargetData;
return   rt;

}
用法
Convert(str,CP_UTF8,936);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有