SMS(短信)对于ASCII可显示字符需要用GSM 7 bit进行PDU的编解码。GSM 7 bit由于只用7 个bit编码字符,这样可以多存储一些字符。例如对于短信,140个字节如果编码采用8bit,那可以存储140个,但是如果采用GSM 7 bit最大可以存储160个字符,多了20个字符,这样子有可能就会节约一条短信,也会降低通信设备的压力。
对于GSM 7 bit一直没有仔细学习和研究过,一方面认为GSM 7 bit可能就是对ASCII 编码的最高位(bit8)进行了简单的舍弃即可,另外参与的项目也有对字符进行GSM 7 bit的转换的库和函数,同时也认为这个可能比较简单,就是将字符转为一个7 bit的整数,或者将一个7 bit的数转换为一个字符,转换的过程依赖于字符和7 bit的对应表即可,可能比较麻烦的是由于是7 bit进行存储,需要进行移位操作,但是流程应该大体是这样的。最近有一些时间可以进行学习,就对这部分进行了探究,里面还是有很多东西值得学习的。下面提及的GSM 7 bit default table 和extension table 均来自:(3GPP TS 23.038 version 10.0.0 Release 10) 。
GSM 7 bit Default Alphabet character table:
GSM 7 bit default alphabet extension character table: