📄 pdu编码协议 - 陈鹏的专栏 - csdnblog.htm
字号:
target=_blank>slashdot.org</A>
<LI class=listitem><A href="http://sourceforge.net/index.php"
target=_blank>sourceforge.net</A></LI></UL>
<H3 class=listtitle>好友链接</H3>
<UL class=list>
<LI class=listitem><A href="http://hi.baidu.com/faithyacht"
target=_blank>乐祎凡的空间</A>
<LI class=listitem><A href="http://blog.csdn.net/Adrian_Bu"
target=_blank>卜道成的Blog</A>
<LI class=listitem><A href="http://tanghao-prc.spaces.msn.com/"
target=_self>唐皓-在上海</A>
<LI class=listitem><A
href="http://followtheshade.spaces.msn.com/?&_c02_owner=1"
target=_blank>杨启-追逐自己的影子</A>
<LI class=listitem><A href="http://blog.sina.com.cn/u/1247880437"
target=_blank>狂人穆里尼奥的BLOG</A>
<LI class=listitem><A
href="http://www.blogcn.com/u2/52/59/birdprime/index.html"
target=_blank>迪迪-飘渺的蓝色理想 </A>
<LI class=listitem><A href="http://blog.csdn.net/colinchan"
target=_blank>陈敏-TOM</A></LI></UL>
<H3 class=listtitle>技术交流</H3>
<UL class=list>
<LI class=listitem><A href="http://blog.donews.com/limodou/"
target=_blank>limodou</A>
<LI class=listitem><A href="http://www.uuzone.com/blog/mao"
target=_blank>UUCEO's BLOG</A>
<LI class=listitem><A href="http://xerdoc.com/blog/tags/"
target=_blank>xerdoc.com</A></LI></UL>
<H3 class=listtitle>存档</H3>
<UL class=list>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2007/06.aspx">2007年06月(1)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/10.aspx">2006年10月(1)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/09.aspx">2006年09月(1)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/08.aspx">2006年08月(1)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/06.aspx">2006年06月(2)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/05.aspx">2006年05月(1)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/04.aspx">2006年04月(4)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/03.aspx">2006年03月(8)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2006/02.aspx">2006年02月(7)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2005/12.aspx">2005年12月(8)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2005/11.aspx">2005年11月(9)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2005/10.aspx">2005年10月(10)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2005/09.aspx">2005年09月(27)</A>
<LI><A
href="http://blog.csdn.net/feifei1018/archive/2005/08.aspx">2005年08月(17)</A></LI></UL></DIV></DIV>
<DIV id=centercontent>
<TABLE width="72%">
<TBODY>
<TR>
<TD><!--done-->
<DIV class=Tag id=regionBlogTag>
<DIV style="CLEAR: both"></DIV></DIV><SPAN class=PreAndNext
id=viewpost.ascx_PreviousAndNextEntriesUp>
<DIV align=center><A
href="http://blog.csdn.net/feifei1018/archive/2005/09/14/480879.aspx">上一篇: AT
指令</A> | <A
href="http://blog.csdn.net/feifei1018/archive/2005/09/14/480568.aspx">下一篇: 实现在virtualStringtree中编辑的标准步骤</A></DIV></SPAN><BR>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>
<DIV class=post>
<DIV class=postTitle><A
href="http://blog.csdn.net/feifei1018/archive/2005/09/14/480796.aspx"><IMG
height=13 src="PDU编码协议 - 陈鹏的专栏 - CSDNBlog.files/authorship.gif" width=15
border=0> PDU编码协议</A> </DIV>
<DIV class=postText>
<P><STRONG>PDU编码规则</STRONG></P>
<P> 目前,发送短消息常用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十三项组成。</P>
<P>A:短信息中心地址长度,2位十六进制数(1字节)。<BR>B:短信息中心号码类型,2位十六进制数。<BR>C:短信息中心号码,B+C的长度将由A中的数据决定。<BR>D:文件头字节,2位十六进制数。
<BR>E:信息类型,2位十六进制数。<BR>F:被叫号码长度,2位十六进制数。<BR>G:被叫号码类型,2位十六进制数,取值同B。<BR>H:被叫号码,长度由F中的数据决定。<BR>I:协议标识,2位十六进制数。<BR>J:数据编码方案,2位十六进制数。<BR>K:有效期,2位十六进制数。<BR>L:用户数据长度,2位十六进制数。<BR>M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。</P>
<P><STRONG>PDU编码协议简单说明</STRONG></P>
<P>例1
发送:SMSC号码是<STRONG>+8613800250500</STRONG>,对方号码是<STRONG>13693092030</STRONG>,消息内容是“<STRONG>Hello!</STRONG>”。从手机发出的PDU串可以是<BR><STRONG>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</STRONG><BR>对照规范,具体分析:<BR>分段 含义 说明<BR><STRONG>08</STRONG> SMSC地址信息的长度 共8个八位字节(包括91)<BR><STRONG>91</STRONG> SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)<BR><STRONG>68
31 08 20 05 05
F0</STRONG> SMSC地址 8613800250500,补‘F’凑成偶数个<BR><STRONG>11</STRONG> 基本参数(TP-MTI/VFP) 发送,TP-VP用相对格式<BR><STRONG>00</STRONG> 消息基准值(TP-MR) 0<BR><STRONG>0D</STRONG> 目标地址数字个数 共13个十进制数(不包括91和‘F’)<BR><STRONG>91</STRONG> 目标地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)<BR><STRONG>68
31 96 03 29 30
F0</STRONG> 目标地址(TP-DA) 8613693092030,补‘F’凑成偶数个<BR><STRONG>00</STRONG> 协议标识(TP-PID) 是普通GSM类型,点到点方式<BR><STRONG>00</STRONG> 用户信息编码方式(TP-DCS) 7-bit编码<BR><STRONG>00</STRONG> 有效期(TP-VP) 5分钟<BR><STRONG>06</STRONG> 用户信息长度(TP-UDL) 实际长度6个字节<BR><STRONG>C8
32 9B FD 0E 01</STRONG> 用户信息(TP-UD) “Hello!”</P>
<P>例2
接收:SMSC号码是<STRONG>+8613800250500</STRONG>,对方号码是<STRONG>13693092030</STRONG>,消息内容是“<STRONG>你好!</STRONG>”。手机接收到的PDU串可以是<BR><STRONG>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<BR></STRONG>对照规范,具体分析:<BR>分段 含义 说明<BR><STRONG>08</STRONG> 地址信息的长度 个八位字节(包括91)<BR><STRONG>91</STRONG> SMSC地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)<BR><STRONG>68
31 08 20 05 05
F0</STRONG> SMSC地址 8613800250500,补‘F’凑成偶数个<BR><STRONG>84</STRONG> 基本参数(TP-MTI/MMS/RP) 接收,无更多消息,有回复地址<BR><STRONG>0D</STRONG> 回复地址数字个数 共13个十进制数(不包括91和‘F’)<BR><STRONG>91</STRONG> 回复地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)<BR><STRONG>68
31 96 03 29 30
F0</STRONG> 回复地址(TP-RA) 8613693092030,补‘F’凑成偶数个<BR><STRONG>00</STRONG> 协议标识(TP-PID) 是普通GSM类型,点到点方式<BR><STRONG>08</STRONG> 用户信息编码方式(TP-DCS) UCS2编码<BR><STRONG>30
30 21 80 63 54 80</STRONG> 时间戳(TP-SCTS) 2003-3-12 08:36:45
+8时区<BR><STRONG>06</STRONG> 用户信息长度(TP-UDL) 实际长度6个字节<BR><STRONG>4F
60 59 7D 00 21</STRONG> 用户信息(TP-UD) “你好!”</P>
<P><BR>若基本参数的最高位(TP-RP)为0,则没有回复地址的三个段。从Internet上发出的短消息常常是这种情形。<BR>注意号码和时间的表示方法,不是按正常顺序顺着来的,而且要以‘F’将奇数补成偶数。</P>
<P><BR>在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。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。</P>
<P><BR>需要注意的是,PDU串的用户信息长度(TP-UDL),在各种编码方式下意义有所不同。7-bit编码时,指原始短消息的字符个数,而不是编码后的字节数。8-bit编码时,就是字节数。UCS2编码时,也是字节数,等于原始短消息的字符数的两倍。如果用户信息(TP-UD)中存在一个头(基本参数的TP-UDHI为1),在所有编码方式下,用户信息长度(TP-UDL)都等于头长度与编码后字节数之和。如果采用GSM
03.42所建议的压缩算法(TP-DCS的高3位为001),则该长度也是压缩编码后字节数或头长度与压缩编码后字节数之和。<BR></P>
<P></P><BR><BR>
<P id=TBPingURL>Trackback:
http://tb.blog.csdn.net/TrackBack.aspx?PostId=480796</P><BR></DIV>
<DIV class=postFoot>
<SCRIPT src=""></SCRIPT>
[<A title=功能强大的网络收藏夹,一秒钟操作就可以轻松实现保存带来的价值、分享带来的快乐
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏到我的网摘</A>]
feifei发表于 2005年09月14日 17:28:00 </DIV></DIV><LINK
href="http://blog.csdn.net/feifei1018/Services/Pingback.aspx"
rel=pingback><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://blog.csdn.net/feifei1018/archive/2005/09/14/480796.aspx"dc:identifier="http://blog.csdn.net/feifei1018/archive/2005/09/14/480796.aspx"dc:title="PDU编码协议"trackback:ping="http://tb.blog.csdn.net/TrackBack.aspx?PostId=480796" /></rdf:RDF>-->
<SCRIPT>function hide(){showComment();}</SCRIPT>
<BR><BR><BR>
<DIV class=post id=csdn_zhaig_ad_yahoo></DIV>
<SCRIPT type=text/javascript>document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</SCRIPT>
<SPAN class=PreAndNext id=viewpost.ascx_PreviousAndNextEntriesDown>
<DIV align=center><A
href="http://blog.csdn.net/feifei1018/archive/2005/09/14/480879.aspx">上一篇: AT
指令</A> | <A
href="http://blog.csdn.net/feifei1018/archive/2005/09/14/480568.aspx">下一篇: 实现在virtualStringtree中编辑的标准步骤</A></DIV></SPAN>
<DIV id=comments><SPAN id=Anthem_Comments.ascx_ltlComments__><SPAN
id=Comments.ascx_ltlComments><BR>
<DIV id=comments>
<H3></H3>没有评论。 </DIV></SPAN></SPAN></DIV>
<SCRIPT type=text/javascript>
ad_width=468;
ad_height=60;
adcss=2;
unionuser=19;
ad_type='j';
count=5;
</SCRIPT>
<SCRIPT language=javascript
src="PDU编码协议 - 陈鹏的专栏 - CSDNBlog.files/showads.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript
src="PDU编码协议 - 陈鹏的专栏 - CSDNBlog.files/showgm.js"
type=text/javascript></SCRIPT>
<!--done-->
<DIV class=comments>添加新评论 <BR>
<DIV id=Anthem_PostComment.ascx_CommentUpdatePanel__>
<DIV id=PostComment.ascx_CommentUpdatePanel>
<TABLE class=commentsTable id=CommentForm cellSpacing=2 cellPadding=0
border=0>
<TBODY>
<TR>
<TD width=75>大名</TD>
<TD><INPUT id=PostComment.ascx_tbName style="WIDTH: 322px" disabled
maxLength=32 size=40 name=PostComment.ascx:tbName></TD>
<TD><SPAN id=PostComment.ascx_RequiredFieldValidator2
style="VISIBILITY: hidden; COLOR: red" initialvalue=""
evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
errormessage="Please enter your name"
controltovalidate="PostComment.ascx_tbName">Please enter your
name</SPAN></TD></TR>
<TR>
<TD>网址</TD>
<TD><INPUT id=PostComment.ascx_tbUrl style="WIDTH: 322px" disabled
maxLength=256 size=40 name=PostComment.ascx:tbUrl></TD>
<TD></TD></TR>
<TR>
<TD colSpan=3><BR>评论 <SPAN
id=PostComment.ascx_RequiredFieldValidator3
style="VISIBILITY: hidden; COLOR: red" initialvalue=""
evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
errormessage="Please enter a comment"
controltovalidate="PostComment.ascx_tbComment">Please enter a
comment</SPAN><BR><TEXTAREA id=PostComment.ascx_tbComment style="WIDTH: 400px" disabled name=PostComment.ascx:tbComment rows=6 cols=50></TEXTAREA>
</TD></TR>
<TR>
<TD colSpan=3><SPAN
id=Anthem_PostComment.ascx_btnSubmit__></SPAN></TD></TR>
<TR>
<TD colSpan=3><SPAN id=PostComment.ascx_Message
style="COLOR: red">当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击<A
href="http://passport.csdn.net/member/UserLogin.aspx?from=http://blog.csdn.net/feifei1018/archive/2005/09/14/480796.aspx">登录</A></SPAN></TD></TR></TBODY></TABLE></DIV></DIV></DIV></TD></TR></TBODY></TABLE></DIV><!--done-->
<DIV class=footer>Copyright ©2007 Peng Chen 模板提供:<A class=footerlink
href="http://blog.hjenglish.com/">沪江博客</A><BR></DIV><SPAN
style="DISPLAY: none"><SPAN id=realBlogTagLoader>
<SCRIPT src="PDU编码协议 - 陈鹏的专栏 - CSDNBlog.files/urltag.aspx"
type=text/javascript></SCRIPT>
</SPAN></SPAN>
<SCRIPT type=text/javascript>
window.attachEvent("onload", function()
{
var e = $("realBlogTagLoader");
var region = $("regionBlogTag");
if(e && region)
{
region.insertBefore(e, region.childNodes[0]);
}
});
</SCRIPT>
<SCRIPT src="PDU编码协议 - 陈鹏的专栏 - CSDNBlog.files/counter.js"></SCRIPT>
<SCRIPT type=text/javascript>
<!--
var Page_Validators = new Array(document.getElementById("PostComment.ascx_RequiredFieldValidator2"), document.getElementById("PostComment.ascx_RequiredFieldValidator3"));
// -->
</SCRIPT>
<INPUT id=__EVENTVALIDATION type=hidden
value=/wEWMAL+raDpAgKz3IU5ArLcjYYMAsW5guMHAsW5lpgPAsW5ur0GAsW5ztIJAsW50ncCxbnmrAgCxbmKwAMCxbneqAYCxbnizQkCqIPc1AoCqIPgiQICqIP0rgUCqIOYwgwCqIOs5wcCqIOwnA8CqIPEsQYCqIPo1gkCqIO8vQwCqIPA0gcCk+yyeQKT7MaeCAKT7OqzAwKT7P7oCgKT7IKMAgKT7JahBQKT7LrGDAKT7M77BwKT7JLCCgKT7KbnDQL29ZCODwL29aSjBgL29cjYCQL29dx9Avb14JIIAvb19LcDAvb1mOsKAvb1rIACAvb18GgC9vWEjAgC2d72lAUC2d6ayAwC2d6u7QcCqrTotAMCwLLi2wwCouvO2AnBXegj6Pc2x1rdwsgQ5GqHn7i+qQ==
name=__EVENTVALIDATION>
<SCRIPT type=text/javascript>
<!--
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
// -->
</SCRIPT>
</FORM>
<SCRIPT language=javascript type=text/javascript>
<!--
try
{
hide();
}
catch(e){}
//-->
</SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -