HTML-Escape-Zeichen effizient konvertieren
In Golang ist die unkomplizierte Konvertierung von maskierten HTML-Zeichen für verschiedene Aufgaben erforderlich. Eine häufige Herausforderung ist die Konvertierung von „u003chtmlu003e“ in „“. Während json.Marshal() die umgekehrte Konvertierung problemlos bewältigen kann, kann json.Unmarshal() umständlich und zeitaufwändig sein.
Verwendung von strconv.Unquote()
Glücklicherweise bietet die Funktion strconv.Unquote() eine Lösung für dieses Rätsel. Diese Funktion ermöglicht ein effizientes Aufheben der Anführungszeichen von maskierten Zeichenfolgen. Es erfordert jedoch, dass Zeichenfolgen in Anführungszeichen gesetzt werden.
Praktische Implementierung
// Important to use backtick ` (raw string literal) // else the compiler will unquote it (interpreted string literal)! s := `\u003chtml\u003e` fmt.Println(s) s2, err := strconv.Unquote(`"` + s + `"`) if err != nil { panic(err) } fmt.Println(s2)
Das Ausführen dieses Codes im Go Playground führt zum gewünschten Ergebnis:
\u003chtml\u003e <html>
Alternative Optionen
Das HTML-Paket in Golang bietet auch Funktionen zum Escapen und Demaskieren von HTML-Text. Es verarbeitet ASCII-Zeichen zwar effektiv, unterstützt jedoch keine Unicode-Sequenzen der Form uxxxx, sondern nur decimal; oder HH;.
Es ist jedoch wichtig zu beachten, dass Zeichenfolgen mit Backslash-Escapezeichen (wie „u003chtmlu003e“) vom Compiler automatisch als interpretierte Zeichenfolgenliterale ohne Anführungszeichen gesetzt werden. Um dieses Aufheben der Anführungszeichen zu vermeiden, verwenden Sie rohe String-Literale, die mit Backticks (`) angegeben werden, oder interpretierte String-Literale in doppelten Anführungszeichen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man HTML-Escape-Zeichen effizient in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!