Maison  >  Article  >  développement back-end  >  Golang utilise une solution chinoise tronquée de socket

Golang utilise une solution chinoise tronquée de socket

尚
original
2019-12-24 11:52:4311993parcourir

Golang utilise une solution chinoise tronquée de socket

En utilisant go to write Socket, j'ai découvert que lors de la saisie du chinois à partir du client, le serveur ne pouvait pas afficher normalement des caractères tronqués.

Golang utilise une solution chinoise tronquée de socket

Nous pouvons transcoder le chinois pour résoudre le problème.

Le transcodage peut être implémenté à l’aide du package officiel golang.org/x/text.

La commande d'installation est la suivante :

go get golang.org/x/text

La fonction pour convertir le format d'encodage est la suivante :

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 
}

Utiliser la fonction de conversion du format d'encodage :

v, err := GbToUtf8(buf[0:n])

Pour plus de connaissances sur Golang, veuillez prêter attention à la colonne tutoriel Golang du site Web PHP chinois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn