Suppression des caractères UTF-8 non valides des chaînes JSON dans Go
Lorsque vous rencontrez des caractères UTF-8 non valides dans des chaînes lors du marshaling JSON, un problème courant problème dans Go, il est crucial de trouver un moyen efficace de les supprimer ou de les gérer.
Dans Go, divers packages et Des techniques peuvent être utilisées pour résoudre ce problème. Une option simple introduite dans Go 1.13 est :
strings.ToValidUTF8("a\xc5z", "")
Cette fonction remplace les séquences UTF-8 non valides par la chaîne de remplacement spécifiée comme deuxième paramètre.
Alternativement, Go 1.11 et versions ultérieures fournissent un approche polyvalente utilisant la fonction Map et la constante utf8.RuneError :
fixUtf := func(r rune) rune { if r == utf8.RuneError { return -1 } return r } fmt.Println(strings.Map(fixUtf, "a\xc5z"))
Le La fonction strings.Map applique la fonction spécifiée à chaque rune de la chaîne, renvoyant une nouvelle chaîne. La fonction fixUtf vérifie les caractères non valides et les remplace par -1, les supprimant ainsi de la sortie.
Grâce à ces méthodes, les développeurs peuvent gérer rapidement et de manière fiable les caractères UTF-8 non valides dans les chaînes JSON, garantissant ainsi un UTF-8 valide. 8 données lors du marshaling.
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!