几个多字节和UNICODE及UTF-8之间相互转化的函数

闲聊 闲聊 1291 人阅读 | 0 人回复

<
做vc++开拓免没有了多字节UNICODE、UTF-8转去转来,上面揭出我写的几个字符转化函数
 1、 TCHAR  战CHAR转化, TCHAR 对应UNICODE战多字节下别离是WCHAR 战CHAR 函数以下:
  需求留意*dest是new出去的需求释放
  1. //char 字符串转化为tchar字符串
  2. void C2T(TCHAR** dest, const char* src)
  3. {
  4. #ifdef _UNICODE
  5.     if (src == NULL)
  6.     {
  7.         return ;
  8.     }
  9.     size_t alen = strlen(src) + 1;
  10.     size_t  ulen = (size_t)MultiByteToWideChar(CP_ACP, 0, src,alen,NULL, 0 )+1;
  11.     *dest = new WCHAR[ulen];
  12.     ::MultiByteToWideChar(CP_ACP, 0, src, alen, *dest, ulen);
  13. #else
  14.     //多字节TCHAR便是 char 
  15.     int len = strlen(src)+1;
  16.     *dest = new char[len];
  17.     strcpy(*dest, src);
  18. #endif
  19. }
复造代码
2、TCHAR转化为多字节,一样要留意*dest指针释放
  1. void T2C(char** dest, const TCHAR* src)
  2. {
  3.     if(src == NULL)
  4.         return ;
  5. #ifdef _UNICODE
  6.     size_t len = WideCharToMultiByte(CP_ACP, 0, src, -1, NULL,
复造代码
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请发帖留言提供原创证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则