Разбор СМС ПДУ на ходу

Можно ли разобрать 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}

Кроме того, родительский пакет, похоже, содержит множество функций, которые могут оказаться полезными для вас.

Другие вопросы по тегам