Heim > Backend-Entwicklung > Golang > Wie entferne ich effektiv ungültige UTF-8-Zeichen aus JSON-Strings in Go?

Wie entferne ich effektiv ungültige UTF-8-Zeichen aus JSON-Strings in Go?

DDD
Freigeben: 2024-12-07 19:40:17
Original
489 Leute haben es durchsucht

How to Effectively Remove Invalid UTF-8 Characters from JSON Strings in Go?

Entfernen ungültiger UTF-8-Zeichen aus JSON-Zeichenfolgen in Go

Wenn beim JSON-Marshalling ungültige UTF-8-Zeichen in Zeichenfolgen gefunden werden, kommt es häufig vor Problem in Go, es ist entscheidend, einen effektiven Weg zu finden, sie zu entfernen oder zu behandeln.

In Go gibt es verschiedene Pakete und Techniken können eingesetzt werden, um dieses Problem anzugehen. Eine einfache Option, die in Go 1.13 eingeführt wurde, ist:

strings.ToValidUTF8("a\xc5z", "")
Nach dem Login kopieren

Diese Funktion ersetzt ungültige UTF-8-Sequenzen durch die als zweiter Parameter angegebene Ersatzzeichenfolge.

Alternativ bieten Go 1.11 und höher eine vielseitiger Ansatz mit der Map-Funktion und der utf8.RuneError-Konstante:

fixUtf := func(r rune) rune {
    if r == utf8.RuneError {
        return -1
    }
    return r
}

fmt.Println(strings.Map(fixUtf, "a\xc5z"))
Nach dem Login kopieren

Die Die strings.Map-Funktion wendet die angegebene Funktion auf jede Rune in der Zeichenfolge an und gibt eine neue Zeichenfolge zurück. Die fixUtf-Funktion sucht nach ungültigen Zeichen und ersetzt diese durch -1, wodurch sie effektiv aus der Ausgabe entfernt werden.

Mit diesen Methoden können Entwickler ungültige UTF-8-Zeichen in JSON-Strings schnell und zuverlässig verarbeiten und so gültige UTF-8-Zeichen sicherstellen. 8 Daten während des Marshallings.

Das obige ist der detaillierte Inhalt vonWie entferne ich effektiv ungültige UTF-8-Zeichen aus JSON-Strings in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage