打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VC中GBK与UTF8字符串的转换

VC中GBK与UTF8字符串的转换

  1. void ConvertGBKToUtf8(CString& strGBK) {
  2. int len=MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, NULL,0);
  3. unsigned short * wszUtf8 = new unsigned short[len+1];
  4. memset(wszUtf8, 0, len * 2 + 2);
  5. MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, wszUtf8, len);
  6. len = WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, NULL, 0, NULL, NULL);
  7. char *szUtf8=new char[len + 1];
  8. memset(szUtf8, 0, len + 1);
  9. WideCharToMultiByte (CP_UTF8, 0, wszUtf8, -1, szUtf8, len, NULL,NULL);
  10. strGBK = szUtf8;
  11. delete[] szUtf8;
  12. delete[] wszUtf8;
  13. }
  1. void ConvertUtf8ToGBK(CString& strUtf8) {
  2. int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0);
  3. unsigned short * wszGBK = new unsigned short[len+1];
  4. memset(wszGBK, 0, len * 2 + 2);
  5. MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, wszGBK, len);
  6. len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);
  7. char *szGBK=new char[len + 1];
  8. memset(szGBK, 0, len + 1);
  9. WideCharToMultiByte (CP_ACP, 0, wszGBK, -1, szGBK, len, NULL,NULL);
  10. strUtf8 = szGBK;
  11. delete[] szGBK;
  12. delete[] wszGBK;
  13. }
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
GBK、UTF8、UNICODE编码转换
转码与解码
字符识别Google开源Tesseract
python基础习题集
小结Python的中文处理
Linux操作系统下汉字编码的转换
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服