L'encodage par défaut de golang est utf-8, mais il existe différents formats dans les pages Web tels que "gb2312", "gbk", etc. Lors du traitement de ces pages Web codées, de gros caractères tronqués apparaîtront. Golang ne dispose pas de son propre package d'encodage et de décodage, il doit donc être traité à l'aide d'un package tiers. Recommandé : Tutoriel Golang
Package tiers
code.google.com/p/mahonia
Introduction à l'utilisation
code on dirait qu'il est hébergé sur le serveur de Google. Les utilisateurs nationaux devront peut-être contourner le mur. J'ai créé un mahonia sur github
Déterminez d'abord si le format d'encodage souhaité est pris en charge. S'il n'est pas pris en charge, le retour. la valeur est nulle
func GetCharset(name string) *Charset
if mahonia.GetCharset(char) == nil { return nil, fmt.Errorf("%s charset not suported \n", char)}
Créer un décodeur dans un format d'encodage spécifique
func NewDecoder(name string) Decoder
dec := mahonia.NewDecoder(char)
puis décoder directement : couramment utilisé. Il existe un décodage directement à partir d'une chaîne et un décodage à partir d'un flux io
func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io. Reader) *Reader
Le flux io est utilisé ici, car une boîte à outils similaire à jquery est également utilisée ci-dessous pour faciliter les déclarations cohérentes
rd := dec.NewReader(resp.Body)
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!