美文网首页Go语言实践Go
Go 关于SOCKET客户端中文编码转换

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

作者: guazi1020 | 来源:发表于2019-07-22 11:25 被阅读1次

用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

相关文章

网友评论

    本文标题:Go 关于SOCKET客户端中文编码转换

    本文链接:https://www.haomeiwen.com/subject/vrpilctx.html