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 }
  • 相关阅读:
    HTML5新媒体元素
    概述
    (一)最小可行化应用
    JSON
    ajax的工作原理
    R语言学习笔记(四)
    R语言学习笔记(一)
    转:禅道的数据库结构
    转:bug的分类和等级
    转:如何定义 Bug 的优先级
  • 原文地址:https://www.cnblogs.com/Jimmy104/p/6096899.html
Copyright © 2011-2022 走看看