博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用短信猫发送中文短信
阅读量:4120 次
发布时间:2019-05-25

本文共 1284 字,大约阅读时间需要 4 分钟。

使用短信猫收发短信,原理是通过串口通信发送AT指令.当你发送中文短信时,你会又喜悦又困惑,短信确实收到了,但是是乱码的.本文介绍如何正确发送中文短信.

请注意短信猫支持SMSText模式,才能通过串口通信发送AT指令的方式收发短信.如果不支持SMSText,可以使用GSMCommunication串口通信,使用pdu编码短信内容.Some advanced GSM modems like WaveCom and Multitech, support the SMStext mode. This mode allows you to send SMS messages using AT commands, withoutthe need to encode the binairy PDU field of the SMS first. This is done by theGSM modem.

发送中文短信的原理是设置16进制模式,同时指定DCS为unicode编码方式.接收中文短信也同样如此.

AT

AT\r\r\nOK\r\n

 

设置modemSMS text mode

AT+CMGF=1<ENTER>

AT+CMGF=1\r\r\r\nOK\r\n

 

查询当前参数

AT+CSMP?<ENTER>

AT+CSMP?\r\r\r\n+CSMP:1,167,0,0\r\n\r\nOK\r\n

 

displays the codepages supported by the modem

AT+CSCS=?

AT+CSCS=?\r\r\n+CSCS:(\"GSM\",\"PCCP437\",\"CUSTOM\",\"HEX\")\r\n\r\nOK\r\n

 

设置modemhex mode

AT+CSCS="HEX"<ENTER>

AT+CSCS=\"HEX\"\r\r\r\nOK\r\n

 

specify the correct DCS (Data Coding Scheme) forUnicode messages, which is 0x08

AT+CSMP=1,167,0,8<ENTER>

AT+CSMP=1,167,0,8\r\r\r\nOK\r\n

 

设置sms发送的手机号码

AT+CMGS="+31638740161"<ENTER>

"AT+CMGS=\"+31638740161\"\r\r\r\n>"

 

unicode编码发送SMS

6d4b8bd5<CTRL-Z>

"\r\n>"

测试

 

C# unicode编码方法

      public staticstring ConvertToUTF(string input_text)

        {

            string _out = String.Empty;

            char[] _chars =input_text.ToCharArray();

            foreach (char c in _chars)

            {

                _out +=((Int16)c).ToString("X4");

            }

            return _out;

        }

 

参考

转载地址:http://rwppi.baihongyu.com/

你可能感兴趣的文章
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
MySQL-分布式架构-MyCAT
查看>>
设计模式六大原则(6):开闭原则
查看>>
阿里面试总结--JAVA
查看>>
Servlet的生命周期
查看>>
JAVA八大经典书籍,你看过几本?
查看>>
《读书笔记》—–书单推荐
查看>>
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>
JAVA数据类型
查看>>
Xshell 4 入门
查看>>
SoapUI-入门
查看>>
Oracle -常用命令
查看>>
JAVA技术简称
查看>>