请教各位大侠,我手头有个wavecom CDMA Modem现在想做个短信接收程序。当用手机发送短信内容为“测试。”给Modem后,用AT+CMGR取得的短信内容是“mK嬚0”,我用Hex(Ascw("m"))+Hex(Ascw("K"))=6D4B这个结果刚好和“测”的Unicode编码是一样的,但是后面的“嬚0”如果用前面的方法就行不通了;现在就求助各位大侠给个方法,怎么把“mK嬚0”进行解析成真正的内容“测试。”。
编码的问题,应该是 unicode的编码,
显示那里设置成unicode方式来显示
我用AT+CMGR得到的内容为:+CMGR:"REC UNREAD","1586032xxxx","09/07/17,12 :12 :00",0,4,0,6
mK嬚0
对CDMA有研究的大侠,在哪里,能出手帮忙一下吗?
你首先看看模块是怎么设置的,是TEXT方式,还是PDU方式?
然后都用ASC码的方式接收下来,再来进行分析。。
肯定都是用UNICODE的来表示的。。
我在做的时候也是碰到这个问题,短信内容是unicode编码,其它是ascii编码,所以只好加个判断把这两部分分开显示。
最近也遇到这样的问题了。那位大侠指点一下啊!还有在做这方面的人留个联系方式。大家好随时交流啊!
我的QQ是:382788086
email:xiao6208@163.com
楼上他们说的不错,就是将中文短信的内容用Unicode来解析,这样你需要把前面的一些ASCII信息和短信内容分开来弄。
或者你直接就设置为PDU模式,这样的话,at+cmgr出来的短信内容全部都是16进制的,头一般都是固定的,把短信内容还是按照Unicode来解析就可以了。
// 用PDU模式发短信息流程
AT+CMGF=0\r // pdu模式
AT+CSCS="UCS2"\r // 字符集
用这条指令试一下
这是一段用51单片机控制GSM模块收发短信息的调试数据,希望对你有帮助。