本文转自: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编码和解码,在短息编解码中比较有用。
详细描述聊如何构建PUD数据包、如何开发超长短信、以及7bit编码
PDU7bit编码资料PDU7bit编码资料
7bit 短信编码简单介绍,DU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码 通常短信内容为英文的时候使用:7-bit,8-bit编码方式 而短信内容为中文的时候则需要使用UCS2编码方式(UNICODE);7-bit、8-bit和UCS2...
VB.Net实现7Bit编码与解码
7bit编码的算法示意图,配合上面的编码解码c实现,就比较容易理解了。
1,消息编码与解码 1),用C实现7-bit编码和解码的算法 2),用C实现UCS2编码和解码的算法 2,消息的发送(PDU编解码) 1),发送短消息 2),读取短消息 3),删除短消息 3,串口读写短信
4_VB.Net实现7Bit编码与解码_vb.net_源码.zip
将GSM7Bit字符转化成Unicode字符,毫无遗漏
包括7位编码的原理图和解码及编码的代码,很容易理解,不错的。
用C实现7-bit编码和解码的算法
3、PDU模式包括三种编码方式:7bit编码(GSM默认编码方法)、8bit编码(常用于发送数据消息如图片和铃声)、UCS2编码(信息包含中文时使用) 4、代码中实现了PDU模式下7bit编码和UCS2编码这两种常用编码方式下的数据...
c# 2005 PDU短信解码编码 (带例子)
x265编码器,yuki变异版,全能编码器,来自nmm-hd论坛
山东大学计算机系统原理:交叉编译及7-bit编码
字符编码转换的工具(根据3GPP 03.38,11.11附录等协议),可以把字符转换成ascii,8 bit,7 bit,UCS2,UTF-8编码。 在做手机软件开发的时候,调试WMS,Phone book,STK等模块可能会用的到。
PDU编码,包括7bit编码和解码,用户手机短信开发
控件提供必要接口可以实现普通汉字短信(最长70个汉字)、普通英文短信(使用7Bit编码,单条最长160字节)、超长汉字短信(拆分后每条63个汉字)、超长英文短信(使用7Bit编码,每条152字节)的发送和接收功能;
10bit重编码的优势,就是用更高位深来进行数据的有损编码的优势,而且bit越高效果越好。最简单的一句话就是,压缩率更高,以更低的码率提供更好的还原效果.
用于短信的编码与解码,其中包含UCS2及7-bit的编码解码