C++UTF8互转ANSI
来源:互联网 发布:西方国家为什么不淘宝 编辑:程序博客网 时间:2024/05/21 17:14
//UTF8转ANSIvoid UTF8toANSI(CString &strUTF8){//获取转换为多字节后需要的缓冲区大小,创建多字节缓冲区UINT nLen = MultiByteToWideChar(CP_UTF8,NULL,strUTF8,-1,NULL,NULL);WCHAR *wszBuffer = new WCHAR[nLen+1];nLen = MultiByteToWideChar(CP_UTF8,NULL,strUTF8,-1,wszBuffer,nLen);wszBuffer[nLen] = 0;nLen = WideCharToMultiByte(936,NULL,wszBuffer,-1,NULL,NULL,NULL,NULL);CHAR *szBuffer = new CHAR[nLen+1];nLen = WideCharToMultiByte(936,NULL,wszBuffer,-1,szBuffer,nLen,NULL,NULL);szBuffer[nLen] = 0;strUTF8 = szBuffer;//清理内存delete []szBuffer;delete []wszBuffer;}
//ANSI转UTF8void ANSItoUTF8(CString &strAnsi){//获取转换为宽字节后需要的缓冲区大小,创建宽字节缓冲区,936为简体中文GB2312代码页UINT nLen = MultiByteToWideChar(936,NULL,strAnsi,-1,NULL,NULL);WCHAR *wszBuffer = new WCHAR[nLen+1];nLen = MultiByteToWideChar(936,NULL,strAnsi,-1,wszBuffer,nLen);wszBuffer[nLen] = 0;//获取转为UTF8多字节后需要的缓冲区大小,创建多字节缓冲区nLen = WideCharToMultiByte(CP_UTF8,NULL,wszBuffer,-1,NULL,NULL,NULL,NULL);CHAR *szBuffer = new CHAR[nLen+1];nLen = WideCharToMultiByte(CP_UTF8,NULL,wszBuffer,-1,szBuffer,nLen,NULL,NULL);szBuffer[nLen] = 0;strAnsi = szBuffer;//内存清理delete []wszBuffer;delete []szBuffer;}
0 0
- C++UTF8互转ANSI
- ANSI 与 UTF8 互转
- GBK UTF8 ANSI UNICODE 互转
- c++ ANSI、UNICODE、UTF8互转
- c++ ANSI、UNICODE、UTF8互转
- c++ ANSI、UNICODE、UTF8互转
- c++ ANSI、UNICODE、UTF8互转
- [C/C++]_[Unicode转Utf8,Ansi转Unicode,Ansi文件转Utf8文件]
- [C/C++]_[Unicode转Utf8,Ansi转Unicode,Ansi文件转Utf8文件]
- win32的ANSI、UNICODE、UTF8互转
- [C语言]字符串处理 - ANSI - Unicode - UTF8 转换
- Unicode, ANSI, UTF8
- Unicode,Ansi和UTF8
- ANSI Unicode,UTF8 转换
- UTF8-ANSI.cpp
- ANSI转UTF8编码
- ANSI转UTF8编码 .
- Ansi Unicode UTF8
- oracle使用sql语句:基本的增、删、改语句
- 在SQL2008中新建数据库+数据表
- 数据库连接,手把手教学(二)
- 原码,补码,反码详解
- 数据库连接,手把手教学(一)
- C++UTF8互转ANSI
- 排序算法总结之归并排序
- 形式语言与自动机理论总结
- Assetbundle制作与下载
- 还是用自己的博客吧
- NASM汇编笔记
- 合成/聚合复用原则(CARP)
- NSStringFromSelector
- Tair LDB基于Prefixkey的范围查找性能优化项目测试及完成总结报告