Разбор СМС ПДУ на ходу
Можно ли разобрать SMS PDU используя только golang
выполнение команды AT
AT+CMGF=0
OK
AT+CMGL=4
+CMGL: 0,1,,26
0791361907002039040C9136198748701300005150713220052308C8303A8C0EA3C3
Есть ли способ разобрать это в го?
0791361907002039040C9136198748701300005150713220052308C8303A8C0EA3C3
если нет, можете ли вы предложить обходной путь.
1 ответ
Решение
Ага. Был найден быстрый поиск: https://godoc.org/github.com/xlab/at/sms. Вот пример программы:
package main
import (
"encoding/hex"
"fmt"
"github.com/xlab/at/sms"
)
func main() {
bs, err := hex.DecodeString("0791361907002039040C9136198748701300005150713220052308C8303A8C0EA3C3")
if err != nil {
panic(err)
}
msg := new(sms.Message)
msg.ReadFrom(bs)
fmt.Println(msg)
}
Запуск, который дает мне:
&{0 0 0 0 {63567471770 0 0x57bac0} +639170000293 +639178840731 Hahahaha 0 false false false false false false false}
Кроме того, родительский пакет, похоже, содержит множество функций, которые могут оказаться полезными для вас.