UniCode 下char*转CString ,利用MultiByteToWideChar进行转换,中文乱码的解决方案
2024-10-21 09:57:25
//计算char *数组大小,以字节为单位,一个汉字占两个字节
int charLen = strlen(sText);
//计算多字节字符的大小,按字符计算。
int len = MultiByteToWideChar(CP_ACP, 0, sText, charLen, NULL, 0);
//为宽字节字符数组申请空间,数组大小为按字节计算的多字节字符大小
TCHAR *buf0 = new TCHAR[len + 1];
//多字节编码转换成宽字节编码
MultiByteToWideChar(CP_ACP, 0, sText, charLen, buf0, len);
buf0[len] = '\0'; //添加字符串结尾,注意不是len+1
//将TCHAR数组转换为CString
CString pWideChar;
pWideChar.Append(buf0);
//删除缓冲区
delete[]buf0;
最新文章
- 北京培训记day4
- 不需要sql进行计算数据的平均值、最大值、最小值、和
- hive内部表、外部表、分区表、视图
- 附件上传 使用javascript
- 鼠标滚动事件兼容性 wheel、onwheel
- Javascript中String对象的的简单学习
- 【多线程】Java并发编程:并发容器之CopyOnWriteArrayList(转载)
- 开发一个iOS应用没有那么容易
- lib,dll区别 及 VS中如何添加lib,dll
- css3的transition效果和transfor效果
- @RenderSection
- JSP table中除了第一行(标题)其他全清空
- PHP信号管理
- C#-----类DateTime的常用方法
- 解决Jmeter插件ERROR: java.io.IOException: Agent is unreachable via TCP的错误
- 设置滚动条scrolltop
- ImportError: cannot import name cbook
- vue+webpack热替换
- var, object, dynamic的区别以及使用
- Microsoft Dynamics CRM2011 导入解决方案时,失败的原因小结