参考来源某个网站不太记得了。

wstring CCommFunc::ANSI2Unicode(const string & strin)
{wstring strout;// 预计算所需空间大小(已包含结束字符),单位wchar_tint dwNum = MultiByteToWideChar (CP_ACP, 0,strin.c_str(), -1, 0 , 0);wchar_t * pBuffer = new wchar_t[dwNum];if (!pBuffer){return strout;}memset(pBuffer,0,(dwNum)*sizeof(wchar_t));if(MultiByteToWideChar(CP_ACP, 0, strin.c_str(),-1,pBuffer,dwNum) >= 0){strout = pBuffer;}delete[] pBuffer;return strout;
}string  CCommFunc::Unicode2UTF8(const wstring & strin)
{string strout;//测试所需存储空间大小(已包含结束字符),单位charint dwNum = WideCharToMultiByte(CP_UTF8,0,strin.c_str(),-1,0,0,0,0);char* pBuffer = new char[dwNum];if (!pBuffer){return strout;}memset(pBuffer,0,dwNum);if(WideCharToMultiByte(CP_UTF8,0,strin.c_str(),-1,pBuffer,dwNum,0,0) >= 0){strout = pBuffer;}delete[] pBuffer;pBuffer = NULL;return strout;
}string  CCommFunc::ANSI2UTF8(const string & strin)
{return Unicode2UTF8(ANSI2Unicode(strin));
}string  CCommFunc::Unicode2ANSI(const wstring & strin)
{string strout;//测试所需存储空间大小(已包含结束字符),单位charint dwNum = WideCharToMultiByte(CP_ACP,0,strin.c_str(),-1,0,0,0,0);char* pBuffer = new char[dwNum];if (!pBuffer){return strout;}memset(pBuffer,0,dwNum);BOOL use_def_char = FALSE;if(WideCharToMultiByte(CP_ACP,0,strin.c_str(),-1,pBuffer,dwNum,"?",&use_def_char) >= 0){strout = pBuffer;}delete[] pBuffer;pBuffer = NULL;return strout;
}wstring CCommFunc::UTF82Unicode(const string & strin)
{wstring strout;// 预计算所需空间大小(已包含结束字符),单位wchar_tint dwNum = MultiByteToWideChar (CP_UTF8, 0,strin.c_str(), -1, 0 , 0);wchar_t* pBuffer = new wchar_t[dwNum];if (!pBuffer){return strout;}memset(pBuffer,0,dwNum*sizeof(wchar_t));if(MultiByteToWideChar(CP_UTF8,0,strin.c_str(),-1,pBuffer,dwNum) >= 0){strout = pBuffer;}delete[] pBuffer;pBuffer = NULL;return strout;
}string CCommFunc::UTF82ANSI(const string & strin)
{return Unicode2ANSI( UTF82Unicode(strin));
}

Uncode、ASCII、UTF-8之前的转换函数相关推荐

  1. c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc

    C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...

  2. 宽字符集(unicode)说明以及转换函数

    宽字符集(unicode)说明以及转换函数 1.为什么要使用Unicode? (1) 可以很容易地在不同语言之间进行数据交换. (2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件. ...

  3. mbstowcs 和 wcstombs函数:C语言提供的宽字符和多字节字符转换函数

    C语言中的多字节字符与宽字符 字符型char只占八位,存储ascii码的,而宽字符型是为了存储多国语言的代码unicode,包括中文,法语德语什么的,8位256种不够用了 C语言原本是在英文环境中设计 ...

  4. java 大小写转换函数_不使用Java中的任何库函数将大写转换为小写

    java 大小写转换函数 Given a string and we have to convert it from uppercase to lowercase. 给定一个字符串,我们必须将其从大写 ...

  5. c语言全角半角转换函数,全角半角转换函数(示例代码)

    --(此函数部分思路参考了CSDN上大力的转换函数)--邹建2005.01(引用请保留此信息)--*/ Go --创建函数 create functionSBC2DBC (@str nvarchar( ...

  6. SQL转换函数(CAST 和 CONVERT)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果 S ...

  7. c语言 格式转换函数,C语言中的格式转换函数.doc

    C语言中的格式转换函数 C语言中的格式转换函数 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过 ...

  8. Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)

    Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa) htonl() htons() ntohl() ntohs()及inet_n ...

  9. c语言 字符转换成ascii吗,C语言字符转换ASCII码

    //函 数 名:CharToHex() //功能描述:把ASCII字符转换为16进制 //函数说明: //调用函数: //全局变量: //输    入:ASCII字符 //返    回:16进制 / ...

  10. java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop

    在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换. 1. ...

最新文章

  1. RunTime的使用-Category改变整个项目全部字体
  2. /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“
  3. 如何使用Android studio创建签名
  4. 通俗易懂地解释遗传算法?有什么例子?
  5. J-link v8固件修复
  6. 没有为类型定义方法怎么办_拼多多开店没有流量怎么办?有什么方法?新手必看!...
  7. python让用户输入字符串_当用户输入字符串而不是整数时,如何保护我的python代码?...
  8. C# 中base和this关键字
  9. 信号量实现环形buff下多生产者多消费者模型
  10. 通过hx1838遥控数码管显示对应数字的程序及问题
  11. SQL 触发器 简记
  12. 项目总结33:海关推送订单报【智能卡应用模块】卡片无效:错误码=51590
  13. 这个超级好哎 vector 容器的 怕失效
  14. 夏季养生知识为居民提供健康指导
  15. latex表格中如何画虚线
  16. 8个亿!河南首富再次无偿捐款西湖大学,西湖大学河南籍校董高达11位
  17. ad电阻原理图_Arduino动手做(2)光敏电阻模块
  18. druid 配置理解及监控界面参数理解
  19. ES6中的字符串API.md
  20. hdu 4559 涂色游戏(SG)

热门文章

  1. matlab突然打不开,点击运行没有任何反应
  2. matlab卡住了 打不开,win7系统matlab打不开无法运行的解决方法
  3. 不用计算机做客户画像,描绘客户画像(有电脑的同学可做,完成加平时分2分)...
  4. Excel VBA批注
  5. 把Excel批注的“红三角”放在单元格左上角_excel批注的玩法,看看你会几个
  6. CentOS 官网下载 iso 镜像
  7. 初探Spring Cloud-Netflix
  8. U盘装系统中bios怎么设置USB启动(图文教程)
  9. python中oserror winerror_python – OSError:[WinError87]参数不正确
  10. 软工网络15团队作业8——Beta阶段冲刺合集