zoukankan      html  css  js  c++  java
  • Windows 下关于转码的函数

     1 std::string& MsgFieldList::GBToUTF8(std::string& des,const char* str)
     2 {
     3      WCHAR *strSrc;
     4      TCHAR *szRes;
     5 
     6      //获得临时变量的大小
     7      int i = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
     8      strSrc = new WCHAR[i+1];
     9      MultiByteToWideChar(CP_ACP, 0, str, -1, strSrc, i);
    10 
    11      //获得临时变量的大小
    12      i = WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, NULL, 0, NULL, NULL);
    13      szRes = new TCHAR[i+1];
    14      int j=WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, szRes, i, NULL, NULL);
    15 
    16      des = szRes;
    17      delete []strSrc;
    18      delete []szRes;
    19 
    20      return des;
    21 }

    反转代码:

     1 std::string& MsgFieldList::UTF8ToGB(std::string& des,const char* str)
     2 {
     3      WCHAR *strSrc;
     4      TCHAR *szRes;
     5 
     6      //获得临时变量的大小
     7      int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
     8      strSrc = new WCHAR[i+1];
     9      MultiByteToWideChar(CP_UTF8, 0, str, -1, strSrc, i);
    10 
    11      //获得临时变量的大小
    12      i = WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL);
    13      szRes = new TCHAR[i+1];
    14      WideCharToMultiByte(CP_ACP, 0, strSrc, -1, szRes, i, NULL, NULL);
    15 
    16      des = szRes;
    17      delete []strSrc;
    18      delete []szRes;
    19 
    20      return des;
    21 }
  • 相关阅读:
    文本文件、二进制文件
    trunc()
    字符集、编码
    windows注册表:扫盲
    decode() & sign()
    移动前端工作的那些事前端制作之自适应制作篇
    css hack知识详解
    IE6兼容性大全
    JS正则匹配入门基础!
    [转载]Javascript中批量定义CSS样式 cssText属性
  • 原文地址:https://www.cnblogs.com/Jimmy104/p/6096899.html
Copyright © 2011-2022 走看看