SMS编码及解码规范(2)

2024-02-24 18:18
文章标签 编码 解码 规范 sms

本文主要是介绍SMS编码及解码规范(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

例2 发送:SMSC号码是+8613800250500,对方号码是13851872468,消息消息内容是“你好!”,从手发出的PDU串可以是:
 08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21
对照规范,以上数据信息的含义见表2
           表2 PDU串数据信息说明

分段

含义

说明

08

SMSC地址信息的长度

共8个8位字节(包括91)

91

SMSC地址格式(TON/NPI)

用国际格式号码(在前面加“+”

68 31 08 20 05 05 FD

SMSC地址

8613800250500,补”F”凑成偶数个

11

基本参数(TP-MTI/VFP)

发送,TP-VP用相对格式

00

消息基准值(TP-MR)

0

0D

目标地址数字个数

共13个十进制数

91

SMSC地址格式(TON/NPI)

用国际格式号码(在前面加“+”

68 31 58 81 27 64 F8

目标地址(TP-DA)

8613851872468,补”F”凑成偶数个

00

协议标识(TP-TID)

是普通GSM类型,点到点方式

08

用户信息编码方式(TP-DCS)

UCS编码

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)

“你好”

下面详细介绍7-bit和UCS2编码

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

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

这篇关于SMS编码及解码规范(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742938

相关文章

完整的申请邓白氏编码的流程(手把手教你申请邓白氏编码

完整的申请邓白氏编码的流程(手把手教你申请邓白氏编码)  标签: 编码邓白氏编码申请流程苹果开发者账号申请 2016-07-08 16:13  2274人阅读  评论(2)  收藏  举报   分类: 技术  苹果开发  邓白氏编码申请 版权声明:本文为博主原创文章,未经博主允许不得转载。     申请公司的苹果开发者账号和企业级的苹

MySQL命名规范(自用)

MtySQL命名规范 基本通用规范 1.【推荐】关键字必须大写 所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等 2.【强制】字段和建表必须写备注 COMMENT写备注 3.【强制】字母数字下划线 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成,命名简

java编程规范之java注释规范

代码要是没有注释,对读者来说就是一堆乱七八糟的字母,为了提高代码的可读性和可维护性,必须对代码进行必要的注释,这里小编整理了一下java注释规范。 (一)技巧    1:注释当前行快捷方式:ctrl+/    2:/* */  选上要注释的代码 ctrl+Shift+/ (二)在哪些地方加注释?    1:每个源文件开头都应有一组注释,包含代码的作者,时间;    2:当编写的代码较长

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 07:编码中的假象

这是一本老书,作者 Steve Maguire 在微软工作期间写了这本书,英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字,英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》,这本书主要讨论如何编写健壮、高质量的代码。作者在书中分享了许多实际编程的技巧和经验,旨在

【规范】测试分析规范(Word原件)

1. 测试分析的目的和意义 2. 测试分析的现状 3. 软件测试分析 4. 阶段总结 5. 制定软件测试分析报告步骤

数据库设计概述-数据库设计内容、数据库设计方法(基于E-R模型的规范设计方法)

一、引言 如何利用关系数据库理论设计一个满足应用系统需求的数据库 二、数据库设计内容 1、数据库设计是基于应用系统需求分析中对数据的需求,解决数据的抽象、数据的表达和数据的存储结构等问题 2、其目标是设计出一个满足应用要求、简洁、高效、规范合理的数据库 3、最终得到能在DBMS中存储的数据库的逻辑结构和物理结构 三、数据库设计方法 1.根据经验进行直观设计 (1)缺乏科学理论和工程

jsp和Servlet中的响应(response)编码

<span style="font-size:18px;">  常见字符编码:iso-8859-1(不支持中文)、gb2312、gbk、gb18030(系统默认编码,中国的国标码)、utf-8(万国码,支持全世界的编码,所以我们使用这个)1. 响应编码* 当使用response.getWriter()来向客户端发送字符数据时,如果在之前没有设置编码,那么默认使用iso,因为iso不支持中文

编码表概述和常见编码表

l 编码表 • 由字符及其对应的数值组成的一张表 l 常见编码表 • ASCII/Unicode 字符集 • ISO-8859-1 • GB2312/GBK/GB18030 • BIG5 • UTF-8 计算机只能识别二进制数据,早期由来是电信号。 为了方便应用计算机,让它可以识别各个国家的文字。 就将各个国家的文字用

字符串到字节数组和字节数组到字符串的转换(编码和解码问题)

/*  * String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组  * byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组  *  * 编码:把看得懂的变成看不懂的  * String -- byte[]  *  * 解码:把看不懂的变成看得懂的

java字符串在内存和文件中编码的不同——如何理解进制(二进制)与编码(UTF-8)的关系

不管是在内存中,还是文件中,还是网络传输中,计算机运算和存储的都只能是二进制。 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。 “外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String,或者外部的文件、命令