Heim >Backend-Entwicklung >Golang >Wie kann ich ungültige UTF-8-Zeichen in Go entfernen?
Bei der Arbeit mit JSON-Daten kann es vorkommen, dass ungültige UTF-8-Zeichen auftreten, was zu Fehlern beim Marshaling führt. Dieses Problem entsteht durch das Vorhandensein von Bytes, die nicht der UTF-8-Kodierung entsprechen.
In Go können Sie dieses Problem beheben, indem Sie oder entfernen Ersetzen ungültiger Zeichen mit verschiedenen Ansätzen:
strings.ToValidUTF8("a\xc5z", "")
fixUtf := func(r rune) rune { if r == utf8.RuneError { return -1 } return r } fmt.Println(strings.Map(fixUtf, "a\xc5z")) fmt.Println(strings.Map(fixUtf, "posic�o"))
Diese Funktion entfernt alle ungültigen UTF-8-Zeichen, indem sie sie einem negativen Wert zuordnet, was zur erwarteten Ausgabe führt:
az posico
Das obige ist der detaillierte Inhalt vonWie kann ich ungültige UTF-8-Zeichen in Go entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!