解码短信标头中的 SENDER ID

sab*_*ber 1 sms alphanumeric sender

我正在做一个小型短信接收实用程序,我有一条短信,我无法理解如何解码其发件人 ID,以下是在 PDU 模式下读取消息的输出:

+CMGL:0,1,,86 0791021197003899440ED0657A7A1E6687E93408610192016390004205000365030106440642062F002006270633062A064706440643062A 0020064306440020062706440648062D062F0627062A0020062706440645062C06270646064A

在文本模式下:

+CMGL: 0,"记录读取","1011161051159710897116",,"16/10/29,10:36:09+00" 06440642062F002006270633062A064706440643062A002006430644002006 2706440648062D062F0627062A0020062706440645062C06270646064A

我通过手机阅读此消息,发现发件人字母数字代码“1011161051159710897116”等于“etisalat”,这是服务提供商的名称,我想了解他们使用的编码。以及如何解码它?

Dav*_*ams 5

它被编码为十进制半八位组的 ASCII:

1011161051159710897116=

101 = &65 = e

116 = &74 = t

105 = &69 = 我

115 = &73 = s

97 = &61 = a

108 = &6C = l

97 = &61 = a

116 = &74 = t

要从 PDU 数据中读取此数据,您必须交换半八位字节,如果长度是奇数,则必须添加额外的“F”以使其偶数以获得正确的八位字节字符串。

SMS PDU 的规格可在此处找到:GSM 03.40