我在用CDMA手机模块发短信的时候,发送英文短信测试通过了,但在发送中文短信的时候老是有问题,收到的都是乱码,看到有地方说得发送unicode编码,但我不知道发送何种编码才正确。
我先
AT+CMGF
AT+WSCL=6,4
AT+CMGS="139999999999",10
接着我再输出wchar_t类型的您好0x60A8,0x597D
我这样
wchar_t *sms=new wchar_t(sizeof(wchar_t)*4);
sms[0]=0x60A8;
sms[1]=0x597D;
sms[2]=0x001A;
sms[3]=0x0000;
然后wirte到串口,但手机收到的是乱码 我换成这样:
char sms[8];
sms[0]=0x60;
sms[1]=0xA8;
sms[3]=0x59;
sms[4]=0x7d;
sms[5]=0x00;
sms[6]=0x1A;
然后wirte到串口,但手机收到的还是乱码 换成:
char sms[12]="60A8597D001A";
然后wirte到串口,但手机收到的一样还是乱码
我就不懂这unicode编码要怎样编了,哪位老兄指点一下,调通后500分再送上(另外开几个贴你过来领分就是了,说到做到)
我先
AT+CMGF
AT+WSCL=6,4
AT+CMGS="139999999999",10
接着我再输出wchar_t类型的您好0x60A8,0x597D
我这样
wchar_t *sms=new wchar_t(sizeof(wchar_t)*4);
sms[0]=0x60A8;
sms[1]=0x597D;
sms[2]=0x001A;
sms[3]=0x0000;
然后wirte到串口,但手机收到的是乱码 我换成这样:
char sms[8];
sms[0]=0x60;
sms[1]=0xA8;
sms[3]=0x59;
sms[4]=0x7d;
sms[5]=0x00;
sms[6]=0x1A;
然后wirte到串口,但手机收到的还是乱码 换成:
char sms[12]="60A8597D001A";
然后wirte到串口,但手机收到的一样还是乱码
我就不懂这unicode编码要怎样编了,哪位老兄指点一下,调通后500分再送上(另外开几个贴你过来领分就是了,说到做到)
解决方案 »
- 直接生成Excel文件
- 如何选择数据结构?麻烦进来看看。
- 为什么我添加控件以后类不见了?求救
- QQ登录器如何实现的?
- 如何实现ping功能?
- 请教COleDateTime问题
- 如何在用mediaplayer控件做的播放器中抓图?
- 使用CStatic *pRight=(CStatic *)GetDlgItem(IDC_PICEND),却出现以下错误,何故?
- VC中如何转16进制的byte数组为CString字符串?
- CMainFrame的PreCreateWindows函数运行两次?
- vc6.0调用水晶报表10.0使用出错!下面程序运行到m_CRViewer1.SetReportSource(m_Report);出错了!
- 请问在VC中怎样使水晶报表控件中只显示我需要的信息????非常感谢
CString str = _T("你好");
需要在project-》Seetings->c/c++下的preprocessor definitions下添加UNICODE,_UNICODE
中文/日文等多国语言短信和英文短信的编码格式是不同的
英文短信为字符格式,中文短信为二进制格式
它使用一种编码格式来表示二进制方式
具体的可以查看WWW.VCKBASE.COM上的文章
http://www.regexlab.com/zh/encoding.htm