Unicode 和 Ansi转换方法——wchar_t*、char*

来源:互联网 发布:会计搜题软件 编辑:程序博客网 时间:2024/06/02 20:44

1、单字节转宽字节(char* --> wchar_t*)

/***将单字节char*转化为宽字节wchar_t*  */inline wchar_t* AnsiToUnicode( const char* szStr )  {      int nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0 );      if (nLen == 0)      {          return NULL;      }      wchar_t* pResult = new wchar_t[nLen];      MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen );      return pResult;  }  
2、宽字节转单字节(wchar_t* --> char*)
/***将宽字节wchar_t*转化为单字节char*  */inline char* UnicodeToAnsi( const wchar_t* szStr )  {      int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );      if (nLen == 0)      {          return NULL;      }      char* pResult = new char[nLen];      WideCharToMultiByte( CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );      return pResult;  }  



原创粉丝点击