首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在SMS PDU中使用十进制八位字节的反向半字节​?

在SMS PDU中使用十进制八位字节的反向半字节是为了将数据有效地编码并传输。SMS(Short Message Service)是一种用于在移动通信系统中发送文本消息的服务,PDU(Protocol Data Unit)是用于在移动网络中传输数据的协议单元。

使用十进制八位字节的反向半字节编码方式可以将每个字节划分为两个半字节,并通过反转半字节的顺序来节省传输数据所需的比特位数。这种编码方式被称为7-bit GSM编码,它可以将每个字节表示为7个比特,而不是通常的8个比特。

这种编码方式的优势在于可以在一个字节中传输更多的字符。由于大部分文本消息主要包含ASCII字符,而ASCII字符只需要7个比特表示,因此使用7-bit GSM编码可以在传输过程中节省带宽和存储空间。

应用场景包括但不限于:

  1. 短信服务:SMS PDU是短信传输的协议,使用7-bit GSM编码可以在移动通信网络中传输文本消息。
  2. 移动应用程序:许多移动应用程序需要向用户发送短信通知,使用7-bit GSM编码可以有效地传输消息内容。
  3. 身份验证:一些身份验证系统使用短信验证码,使用7-bit GSM编码可以节省短信发送成本和带宽消耗。

腾讯云相关产品和产品介绍链接地址如下:

  • 腾讯云短信服务:https://cloud.tencent.com/product/sms
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Hacking Team移动智能设备入侵途径—WAP PUSH

Text和PDU模式,Text模式收发短信代码简单实现容易,但其缺点是不支持unicode编码短信;而PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。...该命令行工具也采用PDU模式,SMS PDU编码是SMS / MMS / WAP PUSH等服务的基础,由十三项信息组成。以下为一条“Hello!”...更多详细参数请参考:http://www.dreamfabric.com/sms/ 对于长短信需要做多条SMS的拆分,但该命令行工具是简单做了长度检查,禁止使用长短信: ?...2013-2014年邮件往来针对美国、墨西哥、秘鲁等PUSH服务使用率高的黑莓手机入侵监控中,提及到WAP PUSH社工的重要及相关配合使用的文件格式溢出利用工具: ?...2015年2月Durango Pending Status主题邮件,表明WAP PUSH在移动设备感染上依然在继续使用: ?

2.7K70

从Android短信漏洞到手机钓鱼木马

在安卓系统接收到pdu短信代码之后,会通过名为android.provider.Telephony.SMS_RECEIVED的action调用此服务,先将pdu短信解码,然后将之显示在手机屏幕上,恶意攻击者可以在自己的程序中通过一个同名的...0×01 PDU短信的结构   要利用此漏洞,我们首先要清楚手机短信的结构,短信在手机操作系统中并不是以我们平常见到的文本格式传送的,而是有特定的编码格式,其中最为广泛使用的就是PDU,短信被编码成PDU...所以安卓木马注定是被动连接的,且不能使用socket,只能基于http协议来反向连接.   ...基于以上考虑,我们需要设计一个流程来打造我们的木马: 首先我们需要注册一个新的服务smsdaemon,在AndroidManifest.xml中的注册名称为SMS_DAEMON,并把它设置为开机自动启动...刘尼玛现在还不能使用它 木马是编写完成了,但还不能投入使用,因为我们要把它注入到一个正常的程序中,欺骗刘尼玛的老总安装它,但那是另一个故事了…… 预知后事如何,且听下回分解.

1.9K60
  • C#开发终端式短信的原理和方法

    西门子的手机大多只支持PDU模式,PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDU已取代Block Mode,因我们主要探讨PDU模式的发送。...在实际使用中,上面这些信息并不为手机所执行,要进行编码手机才会执行,先不管,看看编码后的信息: 0891683108705500F011000D91683117352446F2000800124F60597DFF0C00480065006C006C006F0021...11 - 文件头字节   00 - 信息类型(TP-Message-Reference)   0D - 被叫号码长度   91 - 被叫号码类型   其实在实际处理中,我们通常把11000D91写死在程序中...注意,串口通过数据线跟手机相连,用AT指令来实现发送短信,在我们选择数据线时,建议购买原厂所配,非原厂所配,在使用过程中,经常出现一些莫明其妙的问题,比如,手机屏幕黑了,手机老是提示电池电量不足之类的。...SMS; using System.IO; using System.Text;   步骤五、在smsFormCsharp类中,添加两个字段ss_port、sms,分别为JustinIO及SMS的对象

    2.7K90

    如何根据MAC地址发现设备制造商

    该地址由 48 位组成,使用由双冒号分隔的 6 个八位字节(8 位/1 个字节)表示,并显示为十六进制值而不是二进制/十进制表示。...该地址与 IP(互联网协议)一起用于确定网络(包括互联网)中传输数据包的目的地和源地址。...MAC地址本身实际上由两部分组成: image.png 前三个八位字节被称为 OUI 或组织唯一标识符,它告诉我们该设备的供应商实际上是谁。...然而,最后三个八位字节通常被称为供应商分配的 ID,这将允许供应商识别该特定设备。...MAC 地址最终是数据链路层以太网协议的主要成分,它是网络中传输的大多数数据包的顶层,在使用 Wireshark 和其他监控软件检查数据包时可以很好地看到。

    6.6K30

    Python练手题目(九)

    翻转一个数字 给定一个数字,写一个函数输出其反向数字。(例如,给出123答案是321),数字应该保留他们的标志,即反转时负数仍应为负数。 大家看到翻转会不会想到reverse函数呢?...如果没有想到也没关系,我们可以想另一种办法 ,需要做的首先对输入的数字进行正负判断,并将输入的数字转化为字符串,然后对字符串进行操作,比如前面用到的join函数,以及format函数。...检查IP 编写一种算法,以十进制格式识别有效的IPv4地址。如果IP由四个八位字节组成,其值在0和之间255,则应视为有效。该函数的输入保证是单个字符串。...例如:有效输入 1.2.3.4 123.45.67.89 无效输入 1.2.3 1.2.3.4.5 123.456.78.90 123.045.067.089 此外,还需要注意的是,前导零(例如01.02.03.04...我们需要用if判断语句把几种输出为false的情况列举出来,那么其他情况则为True. 代码如下: def is_valid_IP(IP): ip = IP.split('.')

    59020

    聊聊三种不同的Modbus协议PDU(Modbus协议帧结构)

    有效的代码范围是1到255的十进制数(128到255的范围是保留的,用于异常响应)。当从客户端发送消息到服务器设备时,功能码字段告诉服务器要执行什么操作。功能码"0"是无效的。...客户端发送到服务器设备的消息的数据字段包含服务器用来执行功能码定义的操作的额外信息。这可能包括离散和寄存器地址、要处理的项目数量以及字段中实际数据字节的计数。...在某些类型的请求中,数据字段可能不存在(长度为零),在这种情况下,服务器不需要任何额外信息。功能码单独指定操作。...如果发生与请求的MODBUS功能相关的错误,该字段包含一个异常代码,服务器应用程序可以使用它来确定下一步要采取的操作。...功能码 + 0x80 exception_code = [1字节] 定义在“MODBUS异常代码”表中的MODBUS异常代码,后期会单独说明,敬请持续关注。

    1.6K20

    一个数据包到底有多大?

    目前,互联网在实际操作中默认的数据包大小范围在20到1,500个八位字节之间。...在10Mbps以太网中,帧(或数据包)的有效载荷大小介于46到1500个八位字节之间,加上以太网帧格式所增加的18个八位字节(包括12个八位字节的MAC地址、2个八位字节的帧长度和4个八位字节的CRC校验...例如,在使用大型发送卸载功能时,65,535八位字节的数据包可以从主机传递至网络接口,然后由其分段为45个1,460八位字节的段并发送至网络。...值得注意的是,IEEE 802.11 Wifi规范定义了2,304八位字节的MTU,但大多数主机实现仍使用1,500八位字节的MTU值,以减少在WiFi接入网络移动到完整路径中的下一跳时可能出现的数据包丢失风险...今天的答案与50年前10Mbps以太网的答案相同:46到1,500八位字节之间的任何大小都是在公共互联网中使用的合理选择。

    16900

    S7Comm报文详解

    通过这些连接包,COTP能够在通信双方之间建立一个稳定的、可靠的会话,保证数据的顺序传输和完整性。COTP功能包:COTP功能包用于在已建立的COTP连接上进行数据传输和控制信息交换。...在连接建立后的通信中,这个字段用来确保数据包被送达到正确的会话。在连接请求时由发起方提供,用于标识源或会话的唯一参考号。这同样用于确保通信双方在正确的会话中交换数据。...通常为0x0000这是一个标识符,用来将请求和相应的响应匹配起来。在复杂的通信过程中,这个字段确保了每个请求都能得到正确的响应。...=参数字段的长度数据部分的长度可选,仅存在于Ack-Data消息中,如果传输过程中出现错误,这个字段将标识错误的类型可选,仅存在于Ack-Data消息中,每个错误类型下可能有多个错误代码,指明了发生错误的具体原因其中...9 OCTET STRING 八位字节字符串 字节 数据区域常见值如下:十六进制代码描述 0x03 200系列系统信息 0x05 200系列系统标志 0x06

    36700

    网络工程师必须要知道的ipv6的10个技术要点,建议收藏!

    SLAAC,无状态地址自动配置,在 SLAAC 中,主机通过侦听路由器广告 (RA) 消息来配置其 IPV6 地址,主机将使用 RA 与其他数据结合为自己分配一个唯一地址,该协议是无状态的,因为网络上没有设备跟踪配置的地址列表...十六进制符号 写入 IPV4 地址的标准方法是将值拆分为 4 个八位字节,并以十进制表示法写入每个八位字节。...这种方法对于 IPV6 来说不够简洁,因此,IPV6 使用十六进制表示法,每个“十六进制”用冒号分隔,十六进制是 16 位宽,是八位字节大小的两倍,下面给出了 IPV6 地址的示例。...IPV6 中的网络 在 IPV4 中,地址的网络部分的大小会有所不同,子网掩码将描述 IP 地址中代表网络部分的位数。...AAAA DNS 记录 任何管理过 IPV4 DNS 服务器的人都会非常熟悉用于主机名解析的“A”记录。 在 IPV6 世界中,DNS 仍然相关,但使用“AAAA”记录而不是“A”记录。

    64810

    Android极速开发之发送短信

    参数: 1)、destinationAddress——消息的目标地址 2)、scAddress——服务中心的地址or为空使用当前默认的SMSC 3)、destinationPort——消息的目标端口号...对应RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括额外的“错误代码”包含一个无线电广播技术特定的值,通常只在修复故障时有用。...每一个基于SMS的应用程序控制检测sentIntent。如果sentIntent是空,调用者将检测所有未知的应用程序,这将导致在检测的时候发送较小数量的SMS。...参数: 1)、destinationAddress——消息的目标地址 2)、scAddress——服务中心的地址or为空使用当前默认的SMSC 3)、parts——有序的ArrayList<String...: break; } } } } 在AndroidManifest.xml中添加监听 <!

    2.2K20

    Base64 之后,你的代码会增加多少

    为什么叫 Base64 最初,该算法被命名为“可打印编码”,并且仅在几年后,在 1992 年 6 月,RFC 1341 将其定义为“Base64”。...然而,算法的核心只包含 64 个字符,并且每个字符都有一个唯一的索引。只有索引确定将使用哪些字符对数据进行编码,并且只有这样才能“恢复”原始数据。所有索引都列在上面的 Base64 表中。...为此,您需要在每个字母中找到 ASCII 表中相应的二进制值。...您必须将六位字节转换为八位字节。...为此,在每个组前面添加前缀“00”(两个零): 00010000 00010100 00001001 00000011 在那里你必须通过在 ASCII 表中找到相应的十进制值将每个组从二进制转换为十进制

    2.7K20

    Modbus TCPIP 的详细描述及示例说明

    现在,如果我们谈论Modbus TCP/IP的消息结构,它在消息的开头添加了一个7字节的头部,称为MBAP头部(Modbus应用协议头部),以及一个PDU(协议数据单元)。...这个头部包含以下数据: 事务标识符:由主设备设置的2个字节,用于唯一标识每个请求。可以是任意值。这些字节在响应中由从设备重复,因为从设备的响应可能不会按照请求的顺序接收。...协议标识符:由主设备设置的2个字节,总是00 00,对应于Modbus协议。 长度:由主设备设置的2个字节,标识消息中后续字节的数量。从单元标识符到消息末尾。 单元标识符:1字节由主设备设置。...AO0的值为02 2B 十六进制或十进制中的555。...模拟输出寄存器AO1的值为00 64 十六进制或十进制中的100。 模拟输出寄存器AO2的值为00 7F 十六进制或十进制中的127。

    1.3K10

    简单网络管理协议SNMP(史上最全)

    这一行为的实现是通过使用四种协议操作中的其中任一种完成的。这四种操作分别是 GET、GETNEXT、SET 和 TRAP。...根据不同的PDU,SNMP协议实体将做不同的处理: 1.1 GetRequest PDU 第一种情况:如果PDU中的变量名在本地维护的MIB树中不存在,则接受到这个PDU的协议实体将向发出者发送一个GetResponse...报文,其中的PDU与源PDU只有一点不同:将ERROR-STATUS置为noSuchName,并在ERROR-INDEX中指出产生该变量在变量LIST中的位置。...类型; n 43 01 0e 43表示为TimeTicks类型;01表示该字段占1个字节;0e即十进制的14表示时间标签为0.14秒,这里时间计数器以0.01秒递增; n 30 00 30表示“键-...80(0x50)字节; n 02 04 17 73 2c fb 请求ID为17 73 2c fb 十进制的393424123; n 02 01 00 错误状态0; n 02 01 00 错误索引0

    3.9K60

    J1939协议之通俗易懂—-简介

    J1939使用CAN 2.0B协议中定义的29位标识符,如图1所示。含有指定目标地址的报文(“PDU 1”)与旨在广播的报文(“PDU 2”)使用的标识符略有不同。...PDU是协议数据单元(即报文格式)。 SOF,SRR和IDE位由CAN标准定义,这里忽略。RTR位(远程请求位)在J1939中总是设置为0。 J1939协议中使用的29位标识符结构如下。...优先权位 保留位 数据页位 PDU格式 特定PDU 源地址 3个位 1个位 1个位 8个位 8个位 8个位 表1: 29位标识符的结构 标识符的前三位是用于在仲裁过程中控制报文的优先级。...源参数值(单个字节)的不能为0xFF。 数据字节3是实际发动机转矩百分比参数。源参数值0×82是十进制的130。...源参数值0x1ADF = 十进制中的6879。缩放比例为每比特0.125 rpm, 偏移为0.所以该参数的实际值低于859.875 rpm。

    6.4K30

    DNS反向解析的含义及工作原理

    日志分析:在网络日志中,使用反向解析可以将IP地址转换为域名,便于分析和理解流量来源。邮件服务器:邮件服务器通常会使用反向解析来验证发件方的IP地址是否与其声称的域名匹配,以减少垃圾邮件。...二、DNS反向解析的工作原理PTR记录: 反向解析依赖于DNS中的PTR(Pointer)记录。每个IP地址都可以在DNS中有一个对应的PTR记录,记录该IP地址所对应的域名。...PTR记录通常存储在“反向DNS区”中。反向域名空间: 反向解析使用一种特殊的域名格式来表示IP地址。...以IPv4地址为例,反向解析的域名是将IP地址的每个八位字节倒置,并加上“.in-addr.arpa”后缀。例如,IP地址192.0.2.1的反向域名是1.2.0.192.in-addr.arpa。...这样,在进行后续的反向解析时,服务器可以直接从缓存中获取结果,而无需再次查询。

    41310

    西门子 S7 通信协议概述2

    地址:[3b] 包含所选内存区域中寻址变量的偏移量。本质上,地址被转换为位偏移量,并以网络(大端序)字节顺序在 3 个字节上进行编码。实际上,从不使用最重要的 5 位,因为地址空间小于该空间。...3.1 上传块 上传块序列相当直观,如下所示: 在确认数据 - 开始上传消息中,从站告诉块的长度,然后主站继续发送作业 - 上传块消息,直到收到所有字节。...长度字符串:编码为 ASCII C 字符串的块的十进制长度(不要问我为什么.........在初始请求下载交换后,从站发送作业消息,主站使用Ack Data回复,这是“仅从站应答”规则的唯一例外。发送所有字节后,主节点(原始字节)将下载结束作业发送到 关闭下载会话。请参阅下面的序列图。...唯一的区别是消息中没有参数,例程部分始终设置为 .我不知道为什么它有单独的类型,而不是使用参数来确定它是开始消息还是停止消息。P_PROGRAM 尾声 希望它对某些人有用。

    1.4K72
    领券