用go編寫Socket發(fā)現(xiàn)璧瞬,從客戶端輸入中文時(shí),服務(wù)器端無(wú)法正常顯示麻裁。
image.png
需要對(duì)中文進(jìn)行轉(zhuǎn)碼箍镜。
轉(zhuǎn)碼需要從go官方的golang.org/x/text包實(shí)現(xiàn)〖逶矗可以通過(guò)如下命令安裝
go get golang.org/x/text
或者通過(guò)github下載text包
轉(zhuǎn)換函數(shù)
func GbToUtf8(s []byte) ([]byte, error) {
//reader := transform.NewReader(byte.NewReader(s), simplifiedchinese.GBK.NewEncoder())
reader := transform.NewReader(bytes.NewReader(s),simplifiedchinese.GBK.NewDecoder())
d, e := ioutil.ReadAll(reader)
if e != nil {
return nil, e
}
return d, nil
}
使用
v, err := GbToUtf8(buf[0:n])
結(jié)果:
image.png