下面是在sim300模块上面发送成功的中文短信息的例子: AT+CMGF=0 OK AT+CSCA="+8613800371500" //只需要设置一次 OK AT+CMGS=019 > 0011000D91683180839330F7000801044F60597D //发送中文“你好” +CMGS: 64
OK 其中中文“你好”的编码占用4个字节,即4F60597D,而发送内容中的“04”即是发送内容的长度。在发送内容中,前面的“0011000D91683180839330F7000801”共15个字节,加上发送内容的4个字节“04”,即为19个字节,也就是“AT+CMGS=”后面的“019”。 如果想改变发送内容的长度,需要修改“019”、“04”和发送的内容编码,但必需满足编码字节长度加上15等于发送内容的总长度。举例如下: at+cmgs=023 > 0011000D91683180839330F7000801084F60597D4E014E09 +CMGS: 78
OK 发送的中文为“你好丁三”(编码为:4F60597D4E014E09),编码长度为8个字节,加上固定的15,即为“023”。
具体理解前15个字节和发送内容各字节的含义,可参看下文:
[PDU]数据单元格式定义为:
以下例子 发送“你好”到 13912345678 发送数据是:你好 Unicode译码为:4F60597D //其它字符的Unicode译码可参见附件B AT+CMGS=019 //15(PDU 规约头固定长度15 字节)+4(报文长度4 个字节) > 0011000D91683119325476F8000801044F60597D [ctrl-Z] 00 //为SCA预留 11 // FO 设置PDU 类型 00 // MR 发送参考号 0D //DA 目的号码长度 91 //DA 目的号码类型 68 //DA 中国的区号 3119325476F8 //DA 目的号码编码 00 // PID 发送方式 08 //DCS 编码模式 01 //VP 有效期 PDU 中用户数据前的PDU 头的长度是15 字节
04 //UDL 数据长度 4F60597D //UD 数据内容Unicode 译码
ITM100_SMS APP V01.01 SIMCOM 例子中目的号码是一种内存编码方式,将每两位数据位置互换,余下最后单位的补F 如13912345678 编码为3119325476F8 用户使用PDU 模式发送中文短消息时只需按照上述例子,改变TPDU 的十进制长度、手机号码编码、报文长度和报文内容Unicode 译码即可。 设置DCS 编码模式改变短消息发送等级: 按照GSM08.38 协议约定,PDU 中的DCS 字段(Bit7…0)用于设置短消息内容的编码方式和发送等级,具体为Bit4 用于决定Bit1 和Bit0 的设置是否有效(1 为有效,0 为无效);Bit1和Bit0 均设置为0 表示短消息发送等级为0 等级,即直接发送至终端而不存放在SIM 卡;Bit3 设置为1 且Bit2 设置为0 表示短消息内容为UCS2 编码。上例中DCS 字段为08,即表示短消息内容为UCS2 编码且无发送等级;若改为18 则表示短消息内容为UCS2 编码且按0 等级发送,即直接发送至目的终端。 |
|