|
我使用的是 AnyDATA CDMA DTGS800-6025模块
接收短信提前设置 AT+UGSM=1(使用第二套短信接口) AT+CMGF=0(普通编码输出格式)
AT+CMGR=0 接收第一条短信.模块的输出内容是 13 10 43 67 77 71 82 58 32 48 48 48 48 48 50 51 48 44 49 53 48 48 48 48 48 48 48 48 48 44 49 53 48 48 48 48 48 48 48 48 48 44 50 48 48 56 47 49 50 47 48 50 47 49 49 58 51 51 44 51 44 97 98 99 13 10 13 10 79 75 13 10
内容是:\r\n+CMGR: 00000230,15000000000,15000000000,2008/12/02/11:33,3,abc\r\n\r\nOK\r\n
AT+CMGR=1 接收第二条短信.模块的输出内容是 13 10 43 67 77 71 82 58 32 48 48 48 48 48 50 51 48 44 49 53 48 48 48 48 48 48 48 48 48 44 49 53 48 48 48 48 48 48 48 48 48 44 50 48 48 56 47 49 50 47 48 50 47 49 49 58 51 51 44 49 50 44 0 97 0 98 0 99 89 42 150 51 79 96 13 10 13 10 79 75 13 10
内容是:\r\n+CMGR: 00000230,15000000000,15000000000,2008/12/02/11:33,3,abc太阳你\r\n\r\nOK\r\n
问题就处在这里了,不管是普通的编码还是usc2编码在输出的时候,如果短信内容是纯英文的,就只输出其ascii码,如果中间有了中文就会输出信息内容为unicode码.这个判断起来就很麻烦啊.还有就是对方发送的短信过长的时候会被自动拆成多条发送过来,这时模块输出的信息长度就不对了.
小弟的问题是有没有办法让模块的输出一直都是unicode码,或者是其他的方法能实现也行.在线等.解决立刻+分,谢谢
|
|