Die Standardkodierung von Golang ist UTF-8, es gibt jedoch verschiedene Formate auf Webseiten, wie z. B. „gb2312“, „gbk“ usw. Bei der Verarbeitung dieser codierten Webseiten werden große, verstümmelte Zeichen angezeigt. Golang verfügt nicht über ein eigenes Codierungs- und Decodierungspaket und muss daher mit Hilfe eines Drittanbieterpakets verarbeitet werden. Empfohlen: Golang-Tutorial
Drittanbieterpaket
code.google.com/p/mahonia
Einführung in die Verwendung
Code Es sieht so aus, als ob es auf dem Server von Google gehostet wird. Ich habe eine Mahonia auf Github geforkt. Stellen Sie zunächst fest, ob das gewünschte Codierungsformat nicht unterstützt wird Wert ist Null
func GetCharset(name string) *Charset
if mahonia.GetCharset(char) == nil { return nil, fmt.Errorf("%s charset not suported \n", char)}
Decoder in einem bestimmten Codierungsformat erstellen
func NewDecoder(name string) Decoder
dec := mahonia.NewDecoder(char)
und dann direkt dekodieren: häufig verwendet Es gibt die direkte Dekodierung aus einem String und die Dekodierung aus dem io-Stream
func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io. Leser) *Leser
Hier wird der io-Flow verwendet, da im Folgenden auch ein jquery-ähnliches Toolkit verwendet wird, um kohärente Aussagen zu ermöglichen
rd := dec.NewReader(resp.Body)
Das obige ist der detaillierte Inhalt vonUrsachen und Lösungen für verstümmelten Code bei der Golang-Webentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!