我观察了一下内存,好象cstring类型中的ascii字符仍然是一个字节,而中文是两个字节。那么该如何将其转换成都是两字节的unicode呢?
解决方案 »
- 关于list control的问题,必须加载完数据,才能显示出来?
- UDP程序服务器接收端内网IP功能正常.外网IP访问接收不到数据.急等
- [急切求助]如何实现程序只被打开一次?
- [求助]是否可在对话框环境下开发ActiveX控件?(在线等)
- 请教职场经验--跳槽与否?
- 100分求解微软关于TSF(Text Services Framework)的例子,顶者有份,解决问题者另开贴加送100
- 我想这里高手一定如云,请大家指点!
- 从伊拉克战争 想到轰炸大使馆那天。
- 关于MFC中的高深编程问题,怎么样通过一个窗口的句柄来克隆一个类处理这个窗口的消息,就像使用一个人体的一个基因来克隆一个人??
- 我想注入一个进程监视内存的变化该怎么做
- 关于系统钩子的问题,救救我吧,哥哥姐姐们!!!!!!!!!!!!!!!!!
- VC+sql sever+ado,如何判断如果一个数据表存在,则删除此表
BSTR bstr=str.AllocSysString();
BSTR bstr=str.AllocSysString();
得到后不用了把他用
SysFreeString(bstr) ;
释放掉
int i=WideCharToMultiByte(CP_UTF8,0,bstr,-1,NULL,0,NULL,NULL);
char *stra =new char[i];
WideCharToMultiByte(CP_UTF8,0,bstr,-1,stra,i,NULL,NULL);
delete []stra;
SysFreeString(bstr);这样把m_rmsg转化成utf-8编码好象不对,为什么呢?
正确的utf-8编码应该是31 32 33 a8 cd a4 b9 00
查看内存的31 32 33 e9 80 9a e5 b7 a5 00
例如:cstring s="123通工”
怎么把“123”和“通工”区分开?