美文网首页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