`
金笛子
  • 浏览: 36066 次
社区版块
存档分类
最新评论

PDU的编码--EMS编码

 
阅读更多
编码EMS较SMS复杂,但每条EMS的基础还是SMS,所以我直接继承了SMS类。区别主要是要处理好TP_UD和IE。对于ConcatenatedShortMessage,由于其IE和TP_UDHL占据了TP_UD的部分空间,所以每条短信英文只能容纳133字符,中文66字符。我们可以通过此信息得到短信条数。

如果TP_DCS为Unicode编码,则短信条目为:

TotalMessages= (TP_UD.Length / 4) / 66 + ((TP_UD.Length / 4 Mod 66) = 0)+1

如果为7bit,则为:

TotalMessages= (tp_ud.Length / 266) - ((tp_ud.Length Mod 266) = 0)+1

注意在程序中我为了简化以后的数组操作,就没有加一。

确定了短信条数以后通过一个循环就可以提取出每条短信的TP_UD。

SelectCase tp_dcs

CaseENUM_TP_DCS.UCS2

tmpTP_UD= Mid(TP_UD, i * 66 * 4 + 1, 66 * 4)'When TP_UDL is odd, the max length of anUnicode string in PDU code is 66 Charactor.See [3GPP TS 23.040 V6.5.0 (2004-09]9.2.3.24.1

CaseENUM_TP_DCS.DefaultAlphabet

tmpTP_UD= Mid(tp_ud, i * 133 * 2 + 1, 133 * 2)

EndSelect

此后还需要编码IE部分,关键代码是确定TP_UDL的值。对于TP_DCS为7bit来说确定此值显得比较复杂,弄不好容易出现多一个少一个的错误。

Iftp_dcs = ENUM_TP_DCS.UCS2 Then

TP_UDL= tmpTP_UD.Length / 2 + 6 + 1 '6: length of IE

End If

Iftp_dcs = ENUM_TP_DCS.DefaultAlphabet Then

TP_UDL= Fix((tmpTP_UD.Length + 7 * 2) * 4 / 7) '6:length of IE

End If

然后根据3GPP里关于EMS的结构的说明就可以编写出EMS PDU的处理程序。详见原代码。

如果需要扩展EMS以适应更多种类的EMS,可以参考3GPP写出更为强大的编码程序。但最关键的还是需要处理好IE以及TP_UDL。

转自bbs.sendsms.cn
分享到:
评论

相关推荐

    短信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编码格式说明PDU编码格式说明

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

    AT命令的Pdu<->pasca

    在AT命令中,PDU模式常用于短信服务(SMS)和数据传输,因为它可以高效地编码和传输二进制数据。 Pascal是一种高级编程语言,由Niklaus Wirth于1968年设计,以其简洁、结构化的特点而闻名。在上下文中,"Pascal...

    TC35 PDU编码助手 York

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

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

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

    GSM短信的PDU编码

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

    D-PDU API--风丘科技现场总线.zip

    **风丘科技的D-PDU API是针对现场总线技术的一种接口编程库,它为开发者提供了与设备进行高效通信的能力。现场总线(Fieldbus)是工业自动化领域中用于连接和控制不同设备的通信系统,它允许设备之间直接交换数据,...

    GSM-pdu-cPP.zip_PDU编码

    7. **控制台实现**:在“GSM短信发送PDU编码解码C++控制台实现.doc”文档中,很可能会提供一个简单的命令行界面,用户可以输入文本消息,程序将其编码为PDU,并输出,同时也可以将接收到的PDU解码回文本消息。...

    pdu编码收发短信例子

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

    PDU短信编码器

    PDU短信编码器是一种专门用于处理GSM通信中短信编码的技术工具。在GSM网络中,短信服务(Short Message Service, SMS)是通过一个称为Protocol Data Unit(PDU)的编码方式来传输文本消息的。PDU编码是GSM7位编码集...

    PDU-API_fix(支持老版本VAS5054).rar

    标题"PDU-API_fix(支持老版本VAS5054).rar"表明这是一个解决ODIS新版本与旧版VAS 5054兼容性问题的补丁或工具。VAS 5054是一种多功能汽车诊断工具,它能够通过OBD接口连接到车辆,读取和清除故障码,执行软件更新...

    SMS 短信 PDU编码规则

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

    15PDU-Cat-F项目管理实践经验_0313.pdf

    根据提供的文件信息,我们可以归纳出有关“15PDU-Cat-F项目管理实践经验_0313.pdf”这一文档中的关键知识点。 ### 一、PDU(Professional Development Units)概念 PDU,即专业发展单元,是项目管理协会(PMI)为了...

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

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

    短信收发PDU编码转换

    1. Convert ASCII to 7-bit PDU 2. Convert 7-bit, 8-bit and 16-bit PDU to ASCII 3. Decode/Parsing the hexadecimal (PDU) of SMS message 4. Encode ASCII characters to be sent as SMS ready string

    Sms.rar_PDU编码_pdu_sms c_sms pdu_sms 解码

    在IT行业中,PDU(Protocol Data Unit)编码是与GSM网络中的短消息服务(SMS)相关的技术。PDU模式是SMS的一种传输格式,用于在移动设备之间传递短信。在这个主题中,"Sms.rar_PDU编码_pdu_sms c_sms pdu_sms 解码...

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

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

    网页版PDU格式编码_解码

    网页版的"PDU格式编码_解码"工具是一款实用的应用,专为处理短信通信中的PDU(Protocol Data Unit)格式而设计。PDU是GSM系统中用于短信服务(SMS)的数据格式,它包含了短信的地址信息、控制信息以及实际的文本数据...

Global site tag (gtag.js) - Google Analytics