PDUMode详解:UCS2编码支持中文短信与7-bit、8-bit编码差异

需积分: 1 0 下载量 47 浏览量 更新于2024-09-07 收藏 26KB DOCX 举报
PDU编码,全称为Protocol Data Unit,是移动通信中用于短信传输的一种标准格式。在2011年的资源中,对PDU编码进行了详细的介绍,特别关注了在SMS(Short Message Service)信息传递中使用的关键概念,如BlockMode, TextMode和PDUMode。 PDUMode是首选的短信发送方式,因为它被所有手机广泛支持,且支持各种字符集,包括中文。PDU模式提供了三种编码方式: 1. **7-bit编码**:这是一种基础编码,主要用于发送ASCII字符,将每个7位字符扩展为8位数据,通过这种方式,一串字符可以压缩为7个8位数据。这种编码方式限制了用户信息的最大容量为160个字符(包括英文和特殊字符)。 2. **8-bit编码**:常用于发送非文本数据,如图片、铃声等,它直接表示字节数,而非字符数。 3. **UCS2编码**:适用于发送Unicode字符,尤其是中文,每个字符占用两个字节。在这种编码下,用户信息的最大容量减半,为70个字符。 PDU串的用户信息部分(TP-UD),其长度(TP-UDL)在不同的编码方式下含义不同: - 7-bit编码时,代表原始短消息字符数。 - 8-bit编码时,表示字节数。 - UCS2编码时,依然以字节计,但每个字符占用两个字节,所以长度是字符数的两倍。 如果用户信息有头部(TP-UDHI为1),TP-UDL会包括头部长度加上相应的编码字节数。采用GSM03.42推荐的压缩算法(TP-DCS的高三位为001),TP-UDL计算方式可能更复杂,包括压缩后的字节数或头部长度与压缩字节数的和。 PDU本身是一个数据包,包含了源/目的地址、保护时间、数据格式、协议类型和正文等信息。正文长度最多可达140字节,且一般用十六进制表示。PDU结构根据短信的发送方向不同有所变化,如果是从移动终端发起,还是作为终端接收,其结构细节会有所区别。 最后,PDU编码的具体实现中,如一般的编码示例,涉及到A、B、C、D等字段的十六进制表示,A字段是短信息中心地址长度,B和C字段涉及中心号码类型和号码本身,而D字段则是文件头字节,这些组成部分共同构成了完整的PDU结构。