Maison >développement back-end >Golang >Comment convertir efficacement les caractères d'échappement HTML dans Go ?
Conversion efficace des caractères d'échappement HTML
Dans Golang, la conversion simple des caractères HTML d'échappement est nécessaire pour diverses tâches. Un défi courant consiste à convertir "u003chtmlu003e" en "". Alors que json.Marshal() peut facilement gérer la conversion inverse, json.Unmarshal() peut être fastidieux et fastidieux.
Utiliser strconv.Unquote()
Heureusement, la fonction strconv.Unquote() offre une solution à cette énigme. Cette fonction permet de supprimer efficacement les guillemets des chaînes échappées. Cependant, cela nécessite que les chaînes soient placées entre guillemets.
Mise en œuvre pratique
// 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)
L'exécution de ce code dans Go Playground produit le résultat souhaité :
\u003chtml\u003e <html>
Options alternatives
Le package html dans Golang également fournit des fonctions pour l'échappement et la déséchappement du texte HTML. Bien qu'il gère efficacement les caractères ASCII, il ne prend pas en charge les séquences Unicode de la forme uxxxx, uniquement decimal; ou HH;.
Cependant, il est important de noter que les chaînes avec évasion de barre oblique inverse (comme "u003chtmlu003e") sont automatiquement non citées par le compilateur en tant que littéraux de chaîne interprétés. Pour éviter cette suppression des guillemets, utilisez des littéraux de chaîne bruts spécifiés avec des guillemets (`) ou des littéraux de chaîne interprétés entre guillemets doubles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!