Files
gb28181Panda/util/sipTools.go
T
2023-05-01 01:29:26 +08:00

31 lines
649 B
Go

package util
import (
"bytes"
"encoding/xml"
"golang.org/x/net/html/charset"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
"io/ioutil"
)
func GbkToUtf8(s []byte) ([]byte, error) {
reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewDecoder())
d, e := ioutil.ReadAll(reader)
if e != nil {
return s, e
}
return d, nil
}
func DecodeGbk(v interface{}, body []byte) error {
bodyBytes, err := GbkToUtf8(body)
if err != nil {
return err
}
decoder := xml.NewDecoder(bytes.NewReader(bodyBytes))
decoder.CharsetReader = charset.NewReaderLabel
err = decoder.Decode(v)
return err
}