Uncode、ASCII、UTF-8之前的转换函数
参考来源某个网站不太记得了。
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之前的转换函数相关推荐
- c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc
C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...
- 宽字符集(unicode)说明以及转换函数
宽字符集(unicode)说明以及转换函数 1.为什么要使用Unicode? (1) 可以很容易地在不同语言之间进行数据交换. (2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件. ...
- mbstowcs 和 wcstombs函数:C语言提供的宽字符和多字节字符转换函数
C语言中的多字节字符与宽字符 字符型char只占八位,存储ascii码的,而宽字符型是为了存储多国语言的代码unicode,包括中文,法语德语什么的,8位256种不够用了 C语言原本是在英文环境中设计 ...
- java 大小写转换函数_不使用Java中的任何库函数将大写转换为小写
java 大小写转换函数 Given a string and we have to convert it from uppercase to lowercase. 给定一个字符串,我们必须将其从大写 ...
- c语言全角半角转换函数,全角半角转换函数(示例代码)
--(此函数部分思路参考了CSDN上大力的转换函数)--邹建2005.01(引用请保留此信息)--*/ Go --创建函数 create functionSBC2DBC (@str nvarchar( ...
- SQL转换函数(CAST 和 CONVERT)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果 S ...
- c语言 格式转换函数,C语言中的格式转换函数.doc
C语言中的格式转换函数 C语言中的格式转换函数 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过 ...
- Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)
Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa) htonl() htons() ntohl() ntohs()及inet_n ...
- c语言 字符转换成ascii吗,C语言字符转换ASCII码
//函 数 名:CharToHex() //功能描述:把ASCII字符转换为16进制 //函数说明: //调用函数: //全局变量: //输 入:ASCII字符 //返 回:16进制 / ...
- java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换. 1. ...
最新文章
- RunTime的使用-Category改变整个项目全部字体
- /* * 编程题第五题(20分): 	本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 	***** 	 *** 	 * 	 *** 	***** 	所谓“
- 如何使用Android studio创建签名
- 通俗易懂地解释遗传算法?有什么例子?
- J-link v8固件修复
- 没有为类型定义方法怎么办_拼多多开店没有流量怎么办?有什么方法?新手必看!...
- python让用户输入字符串_当用户输入字符串而不是整数时,如何保护我的python代码?...
- C# 中base和this关键字
- 信号量实现环形buff下多生产者多消费者模型
- 通过hx1838遥控数码管显示对应数字的程序及问题
- SQL 触发器 简记
- 项目总结33:海关推送订单报【智能卡应用模块】卡片无效:错误码=51590
- 这个超级好哎 vector 容器的 怕失效
- 夏季养生知识为居民提供健康指导
- latex表格中如何画虚线
- 8个亿!河南首富再次无偿捐款西湖大学,西湖大学河南籍校董高达11位
- ad电阻原理图_Arduino动手做(2)光敏电阻模块
- druid 配置理解及监控界面参数理解
- ES6中的字符串API.md
- hdu 4559 涂色游戏(SG)
热门文章
- matlab突然打不开,点击运行没有任何反应
- matlab卡住了 打不开,win7系统matlab打不开无法运行的解决方法
- 不用计算机做客户画像,描绘客户画像(有电脑的同学可做,完成加平时分2分)...
- Excel VBA批注
- 把Excel批注的“红三角”放在单元格左上角_excel批注的玩法,看看你会几个
- CentOS 官网下载 iso 镜像
- 初探Spring Cloud-Netflix
- U盘装系统中bios怎么设置USB启动(图文教程)
- python中oserror winerror_python – OSError:[WinError87]参数不正确
- 软工网络15团队作业8——Beta阶段冲刺合集