`
javalurker
  • 浏览: 23500 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

PDU编码

    博客分类:
  • java
阅读更多
PDU编码规则

  目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。

A:短信息中心地址长度,2位十六进制数(1字节)。
B:短信息中心号码类型,2位十六进制数。
C:短信息中心号码,B+C的长度将由A中的数据决定。
D:文件头字节,2位十六进制数。
E:信息类型,2位十六进制数。
F:被叫号码长度,2位十六进制数。
G:被叫号码类型,2位十六进制数,取值同B。
H:被叫号码,长度由F中的数据决定。
I:协议标识,2位十六进制数。
J:数据编码方案,2位十六进制数。
K:有效期,2位十六进制数。
L:用户数据长度,2位十六进制数。
M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。

PDU编码协议简单说明

例1 发送:SMSC号码是+8613800250500,对方号码是13693092030,消息内容是“Hello!”。从手机发出的PDU串可以是
08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 96 03 29 30 F0 00 00 00 06 C8 32 9B FD 0E 01
对照规范,具体分析:
分段 含义 说明
08 SMSC地址信息的长度 共8个八位字节(包括91)
91 SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 20 05 05 F0 SMSC地址 8613800250500,补‘F’凑成偶数个
11 基本参数(TP-MTI/VFP) 发送,TP-VP用相对格式
00 消息基准值(TP-MR) 0
0D 目标地址数字个数 共13个十进制数(不包括91和‘F’)
91 目标地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 96 03 29 30 F0 目标地址(TP-DA) 8613693092030,补‘F’凑成偶数个
00 协议标识(TP-PID) 是普通GSM类型,点到点方式
00 用户信息编码方式(TP-DCS) 7-bit编码
00 有效期(TP-VP) 5分钟
06 用户信息长度(TP-UDL) 实际长度6个字节
C8 32 9B FD 0E 01 用户信息(TP-UD) “Hello!”

例2 接收:SMSC号码是+8613800250500,对方号码是13693092030,消息内容是“你好!”。手机接收到的PDU串可以是
08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 96 03 29 30 F0 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21
对照规范,具体分析:
分段 含义 说明
08 地址信息的长度 个八位字节(包括91)
91 SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 20 05 05 F0 SMSC地址 8613800250500,补‘F’凑成偶数个
84 基本参数(TP-MTI/MMS/RP) 接收,无更多消息,有回复地址
0D 回复地址数字个数 共13个十进制数(不包括91和‘F’)
91 回复地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 96 03 29 30 F0 回复地址(TP-RA) 8613693092030,补‘F’凑成偶数个
00 协议标识(TP-PID) 是普通GSM类型,点到点方式
08 用户信息编码方式(TP-DCS) UCS2编码
30 30 21 80 63 54 80 时间戳(TP-SCTS) 2003-3-12 08:36:45  +8时区
06 用户信息长度(TP-UDL) 实际长度6个字节
4F 60 59 7D 00 21 用户信息(TP-UD) “你好!”


若基本参数的最高位(TP-RP)为0,则没有回复地址的三个段。从Internet上发出的短消息常常是这种情形。
注意号码和时间的表示方法,不是按正常顺序顺着来的,而且要以‘F’将奇数补成偶数。


在PDU Mode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。


需要注意的是,PDU串的用户信息长度(TP-UDL),在各种编码方式下意义有所不同。7-bit编码时,指原始短消息的字符个数,而不是编码后的字节数。8-bit编码时,就是字节数。UCS2编码时,也是字节数,等于原始短消息的字符数的两倍。如果用户信息(TP-UD)中存在一个头(基本参数的TP-UDHI为1),在所有编码方式下,用户信息长度(TP-UDL)都等于头长度与编码后字节数之和。如果采用GSM 03.42所建议的压缩算法(TP-DCS的高3位为001),则该长度也是压缩编码后字节数或头长度与压缩编码后字节数之和。
分享到:
评论

相关推荐

    短信pdu编码解码_短信_短信PDU编码_pdu_

    短信PDU编码与解码是通信领域中一个关键的概念,特别是在GSM(全球系统移动通信)网络中,用于传输文本消息。PDU全称为Protocol Data Unit(协议数据单元),是SMS(Short Message Service,短消息服务)在GSM网络...

    PDU编码工具用于短信编码

    **PDU编码工具用于短信编码** 在移动通信领域,PDU(Protocol Data Unit,协议数据单元)编码是一种用于短信服务(Short Message Service, SMS)的技术,它允许短信在GSM网络中有效地传输。PDU模式是SMS消息的一种...

    基于短信猫,采用PDU编码的短信收发java实现

    本文将详细讲解如何利用Java语言,结合PDU编码来实现基于短信猫的短信通信功能。 首先,我们需要理解PDU(Protocol Data Unit)编码。PDU编码是GSM通信系统中用于短信服务的一种二进制编码方式,它包含了短信的全部...

    PDU编码格式说明PDU编码格式说明

    ### PDU编码格式详解 #### 一、PDU编码概述 PDU(Protocol Data Unit,协议数据单元)是通信协议中的基本数据传输单位,在移动通信领域尤为重要,特别是短信(SMS)传输过程中。本文将详细解释PDU编码格式,并通过...

    彩信的交互过程,彩信的PDU,彩信的PDU编码

    彩信的交互过程、PDU 及编码 彩信的交互过程是指彩信客户端与 MMS Proxy-Relay 之间的交互和彩信接收方与 MMS Proxy-Relay 之间的交互。该过程包括发送过程、通知过程、彩信接收、彩信回执和彩信阅读回执五个部分。...

    TC35 PDU编码助手 York

    TC35 PDU编码助手是专为处理TC35系列GSM模块的协议数据单元(PDU)编码而设计的一款工具。在无线通信领域,尤其是GSM网络中,PDU编码是传输数据的关键环节,它涉及到如何将用户数据转换成适合网络传输的格式。这个...

    SMS 短信 PDU编码规则

    短信PDU编码规则是短消息服务(Short Message Service, SMS)中的一种核心技术,它涉及到如何将我们日常使用的文本信息转化为二进制数据,以便于在移动通信网络中传输。这一编码方式使得短信可以在不同的手机和网络...

    GSM短信的PDU编码

    GSM短信的PDU编码是GSM(Global System for Mobile Communications)系统中短消息服务(Short Message Service, SMS)的一种编码方式,它用于在GSM网络中传输短信数据。PDU(Protocol Data Unit)编码是一种二进制...

    一个用C写很不错的GPRS的PDU编码程序

    // PDU编码,用于编制、发送短消息 // 输入: pSrc - 源PDU参数指针 // 输出: pDst - 目标PDU串指针 // 返回: 目标PDU串长度 int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst) { int nLength; // 内部用的串长度...

    pdu编码收发短信例子

    本教程将深入探讨PDU编码在收发短信过程中的应用,以及7位、8位和UCS2编码的区别。 PDU编码是短信中心(SMSC)与手机之间交换短信数据的标准格式。它是一种二进制编码,包含了短信的所有必要信息,如目的地址、源...

    java串口通讯 短信测试 comm编程 PDU编码 进制转换 AT命令

    PDU编码规则.doc QHDQ-29DDDAD3A0.LOG SMSLib串口通信.doc 串口常用参数.doc 关于java使用javacomm20.doc 常见的进制转换方法.doc 浅谈Java串行端口技术协议.doc 短信 AT 命令参考.doc 短信PDU编码解码.doc 通过串口...

    有关PDU编码.rar_PDU编码_pdu_短消息

    PDU编码,全称为Protocol Data Unit编码,是GSM(全球系统移动通信)网络中用于短信服务(SMS)的一种编码方式。在无线模块通信中,尤其是处理中文字符的短消息时,PDU编码扮演着至关重要的角色。这篇文章将深入探讨...

    TC35 PDU编码助手

    TC35发送PDU编码助手 输入短信中心号码,接收短信手机号,并使用附带的中文unicode编码器 一键点击即可生成TC35认可的PDU短信编码,方便快捷 文件中附带使用教程(.wmv) BY--Yuan坤 2012年5月

    Sms.rar_PDU编码_pdu_sms c_sms pdu_sms 解码

    在这个主题中,"Sms.rar_PDU编码_pdu_sms c_sms pdu_sms 解码",我们将深入探讨PDU编码和解码的过程,以及如何在C语言环境下实现这个功能。 PDU编码是将文本消息转换为二进制数据的过程,以便它们可以在GSM网络中...

    短信PDU编码解码类

    短信PDU编码解码是移动通信领域中处理短信(Short Message Service, SMS)的一种技术,尤其是在GSM系统中。在GSM网络中,短信是以PDU(Protocol Data Unit)格式进行传输的,这是一种二进制编码方式,可以有效兼容...

    PDU.rar_PDU编码_pdu

    在通信领域,PDU(Protocol Data Unit)是协议数据单元的缩写,它是网络协议层次结构中的一个...而提供的"PDU.rar_PDU编码_pdu"文件,很可能是包含实现这一功能的代码或文档,对于学习和研究PDU编码是一个宝贵的资源。

    PDU.zip_PDU编码_java 短信猫 pdu_pdu

    标题中的"PDU.zip_PDU编码_java 短信猫 pdu_pdu"表明这是一个关于PDU编码在Java环境下,特别是在使用短信猫设备时的应用的资源包。PDU(Protocol Data Unit,协议数据单元)是GSM(全球系统移动通信)中用于短信服务...

    PDU解码器.rar_PDU编码_SMS PDU Library VB6_pdudecoder vb.net_vb.net pd

    《深入理解PDU编码与解码在VB.NET中的应用》 在信息技术领域,尤其是在移动通信系统中,PDU(Protocol Data Unit,协议数据单元)编码和解码是短信服务(SMS)的重要组成部分。本文将围绕标题“PDU解码器.rar_PDU...

    pdu.rar_PDU 鐭俊_PDU编码_pdu

    在这个“pdu.rar_PDU_鍭俊_PDU编码_pdu”压缩包中,包含了关于手机PDU编码的重要资料,主要讨论的是如何在移动通信系统中进行数据传输和编码。 PDU在OSI模型(开放系统互连模型)中位于第4层——传输层,是传输层...

    pdu.rar_PDU编码

    **PDU编码详解** 在通信领域,PDU(Protocol Data Unit,协议数据单元)是网络协议中的一个重要概念,它是协议栈在传输层处理的数据结构。PDU编码涉及到如何将高层应用的数据转换为在网络中传输的格式,这个过程...

Global site tag (gtag.js) - Google Analytics