AT指令发送PDU短信完全指南

需积分: 10 7 下载量 200 浏览量 更新于2024-07-23 收藏 133KB PDF 举报
"AT指令发送PDU短信详解" 在无线通信领域,短信服务(Short Message Service, SMS)是常见的通信方式。当涉及到短信的传输时,存在两种主要的编码格式:Text格式和PDU(Protocol Data Unit)格式。Text格式是可读的文本形式,而PDU格式则是二进制编码,通常用于国内短信的发送,因为它能够兼容各种字符集,包括非ASCII字符。本文将深入探讨如何使用AT指令发送PDU格式的短信。 PDU格式的短信数据包由多个部分组成,包括接收方电话号码、短信中心号码、短信内容等。在发送PDU短信时,我们需要对这些元素进行特定的处理。 首先,短信中心号码的处理步骤如下: 1. 去掉号码前的"+",并检查长度是否为偶数。如果为奇数,末尾添加"F"以确保长度为偶数。 2. 将号码的奇数位和偶数位进行交换,以实现位交错。 3. 在处理后的号码前添加"91",表示这是国际号码。 4. 计算处理后号码的长度,除以2得到的值转换为2位16进制字符串,用于标识短信中心号码的长度。 接着,处理发送方的电话号码(即接收方号码): 1. 同样去掉"+",若长度为奇数,末尾添加"F"。 2. 对号码进行位交错操作。 然后,短信内容的处理涉及将其转换为Unicode编码: 1. 将短信内容的每个字符转换为对应的Unicode代码点。 2. 计算Unicode字符串的长度(除以2),然后用两位16进制数表示这个长度,附加到Unicode字符串的前面。 最后,组合所有部分构建完整的PDU数据包: 1. 在手机号码前添加固定字符串"11000D91",其中"1100"是固定前缀,"0D"表示手机号码长度(不含"+",以16进制表示),"91"表示发送至手机。 2. 在手机号码后添加"000800"作为固定填充,并接上短信内容的PDU编码。 通过上述步骤,我们可以构建出一个完整的PDU格式的短信数据包,然后使用AT指令发送给短信中心,从而完成短信的发送。这个过程对于理解AT指令与PDU格式的交互至关重要,特别是当需要发送包含特殊字符或者非ASCII字符的短信时。