本文转自:http://hi.baidu.com/wenzheng38/item/6de009f9273e1f1fa72988e1
GSM默认采用7bit编码,实际上,7位编码是种压缩算法,因为,ASCII码(不包括扩展ASCII),其值小于0x80,最高位bit8是0,被忽略了;而7bit编码就利用了这一位来存储数据;其编码时,依次将下一7位编码的后几位逐次移至前面,形成新的8位编码。
1、 第一个字节
8 7 6 5 4 3 2 1
0 a7 a6 a5 a4 a3 a2 a1
2、第二个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
0 0 b7 b6 b5 b4 b3 b2
3、第三个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
c2 c1 b7 b6 b5 b4 b3 b2
0 0 0 c7 c6 c5 c4 c3
4、第四个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
c2 c1 b7 b6 b5 b4 b3 b2
d3 d2 d2 c7 c6 c5 c4 c3
0 0 0 0 d7 d6 d5 d4
5、第五个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
c2 c1 b7 b6 b5 b4 b3 b2
d3 d2 d2 c7 c6 c5 c4 c3
e4 e3 e2 e1 d7 d6 d5 d4
0 0 0 0 0 e7 e6 e5
6、第六个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
c2 c1 b7 b6 b5 b4 b3 b2
d3 d2 d2 c7 c6 c5 c4 c3
e4 e3 e2 e1 d7 d6 d5 d4
f5 f4 f3 f2 f1 e7 e6 e5
0 0 0 0 0 0 f7 f6
7、第七个字节
8 7 6 5 4 3 2 1
b1 a7 a6 a5 a4 a3 a2 a1
c2 c1 b7 b6 b5 b4 b3 b2
d3 d2 d2 c7 c6 c5 c4 c3
e4 e3 e2 e1 d7 d6 d5 d4
f5 f4 f3 f2 f1 e7 e6 e5
g6 g5 g4 g3 g2 g1 f7 f6
0 0 0 0 0 0 0 g7
解码时,采用相反的过程进行译码。普通的ASCII码对应的字符只需维护一个7bit映射表,对于扩展的ASCII字符,同样也采用一个扩展的映射表即可。
例如,”Hello World!”的7bit编码结果为:
PDU信息中的长度是实际字母的个数,而不是编码后的个数,即每8个字母就差1个字节。
编码时每8个字母一组,编码后为7个字节。
解码时应7个一组分开,每组解为8个字符,各组之间并无联系。
注意:短信发送的是pdu字符串,在用上面函数解码前,需要把pdu字符串转字节数组byte[]才行。
具体的7bit编解码源程序见百度文库:PDU协议7bit编码
相关推荐
一个用c实现的7bit编码和解码,在短息编解码中比较有用。
PDU7bit编码的主要特点是每个字符用7位二进制数表示,这是因为GSM系统中的短信通道通常只有8位数据传输能力,但第8位通常用于奇偶校验,因此实际可用的是7位。这种编码方式可以表示128个不同的字符,其中包括拉丁...
根据提供的标题、描述、标签及部分内容,我们可以了解到这段代码与GSM7Bit编码转换至Unicode有关。接下来,我们将深入解析这段代码所涉及的关键概念和技术细节。 ### GSM7Bit编码简介 GSM7Bit是一种用于移动通信...
在编程领域,7Bit编码是一种常见的字符编码方式,主要用于电子邮件系统和一些文本传输协议中,因为它们需要一种能够在有限的字节空间内表示大多数常见字符的编码方式。在这个主题中,“4_VB.Net实现7Bit编码与解码_...
1. **7-bit编码**:主要用于发送英文字符,它能够将一系列7-bit的ASCII字符(最高位为0)转换为8-bit的数据,从而实现一定程度上的数据压缩。每8个字符可以被压缩成7个字节,因此在7-bit编码方式下,短信的最大字符...
C 语言实现 7-bit 编码和解码算法 本文档详细介绍了使用 C 语言实现 7-bit 编码和解码算法的方法,该算法广泛应用于短信服务(SMS)中。该算法可以将 ASCII 码转换为 7-bit 编码,以便于在 SMS 中传输。 7-bit ...
在“SIM的7BIT解码编码”这个主题中,我们主要探讨的是SIM卡中数据存储的一种编码方式——7位编码(7BIT编码),这种编码方式在短信(Short Message Service, SMS)传输中被广泛使用。 7位编码的原理基于字符集,最...
在VB.NET编程环境中,7Bit编码与解码是一种常见的数据处理技术,特别是在处理文本数据时,如电子邮件或网络传输的数据。7Bit编码主要是为了解决ASCII字符集在8位字节中的传输问题,确保在非ASCII兼容的网络环境中...
7bit编码的算法示意图,配合上面的编码解码c实现,就比较容易理解了。
在本文中,我们将深入探讨如何使用C语言实现SMS消息的编码和解码,特别是7-bit编码和解码,以及UCS2编码。首先,我们关注7-bit编码和解码算法。 7-bit编码是一种用于SMS(Short Message Service)的编码方式,它...
3、PDU模式包括三种编码方式:7bit编码(GSM默认编码方法)、8bit编码(常用于发送数据消息如图片和铃声)、UCS2编码(信息包含中文时使用) 4、代码中实现了PDU模式下7bit编码和UCS2编码这两种常用编码方式下的数据...
下面将深入解析这段经过产品测试并验证可用的代码,其主要功能是实现7bit编码与解码,适用于处理字符数据,尤其在资源受限的环境中表现出色。 ### 7bit编码 #### 原理概述 7bit编码通常用于ASCII字符集,它将每个...
总结来说,7bit编码主要用于基础的GSM短信,8bit编码扩展了字符集,而UCS2编码则提供了广泛的语言支持。"SmsTest.rar"这个压缩包中的内容,无论是工具还是代码,都是为了帮助我们理解和处理这些复杂的编码问题,从而...
这个简单的例子展示了如何将一个UCS2字符转换为GSM7Bit编码。解码过程则相反,需要根据GSM编码找到对应的UCS2字符。在实际应用中,可能需要处理整个字符串,并且考虑到短信的长度限制(通常160个7位字符或70个16位...
10bit视频编码技术相较于传统的8bit编码,在数据表示方面采用了更高的位深度。这种技术能够显著提高视频压缩的质量,尤其是在低比特率的情况下更为明显。简单来说,10bit编码能够在保持甚至提升画质的同时,实现更...
### 山东大学计算机系统原理:交叉编译及7-bit编码 #### 一、交叉编译简介 **交叉编译**是指在一个平台上编译代码,然后在另一个不同的平台上运行所生成的目标代码的过程。这种编译方式广泛应用于嵌入式系统的开发...
函数内部首先计算源缓冲区的长度,并根据7bit编码的特性限制其最大值为140个字符(考虑到7bit编码每7位组成一个8位字节)。 在转换过程中,`SmgDecodeTo7bit`逐位处理源数据,通过位操作和逻辑运算将每7位的7bit...
为了解决这个问题,短信协议定义了一种名为“7-bit packing”的技术,它可以将UCS2编码的字符转换成一系列7-bit编码的片段,以便在7-bit编码的限制下发送。这个过程涉及到了“encode decode”的操作,即编码和解码。...
x265编码器,yuki变异版,全能编码器,来自nmm-hd论坛