Go语言实践Go

Go 关于SOCKET客户端中文编码转换

2019-07-22  本文已影响1人  guazi1020

用go编写Socket发现,从客户端输入中文时,服务器端无法正常显示。

image.png

需要对中文进行转码。

转码需要从go官方的golang.org/x/text包实现。可以通过如下命令安装

go get golang.org/x/text

或者通过github下载text包

转换函数

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])

结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读