JT808设备文字信息下发与接收编码记录
文字信息的传递需要使用GBK编码
使用库"golang.org/x/text/encoding/simplifiedchinese"
先把中文字符编码
编码之后再编码为16进制字符串表示
如此符合了报文的需求
接收方收到之后
对消息内容做一次16进制的解码,还原为gkb的byte形式,再调用simplifiedchinese库解码还原文字信息
package app
import (
"fmt"
"time"
"golang.org/x/text/encoding/simplifiedchinese"
)
func gbkfunc(){
// gbk编码
var gbkData string
gbkData, err = simplifiedchinese.GBK.NewEncoder().String("你好")
if err != nil {
return
}
//编码为16进制字符串
body = fmt.Sprintf("%x",gbkData)
// gbk解码
byteData,_ := hex.DecodeString(body)
var utf8Data string
utf8Data , err = simplifiedchinese.GBK.NewDecoder().String(string(byteData))
if err != nil {
return
}
}