Heim  >  Artikel  >  Backend-Entwicklung  >  Ursachen und Lösungen für verstümmelten Code bei der Golang-Webentwicklung

Ursachen und Lösungen für verstümmelten Code bei der Golang-Webentwicklung

尚
Original
2019-12-12 09:44:483360Durchsuche

Ursachen und Lösungen für verstümmelten Code bei der Golang-Webentwicklung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn