Maison > développement back-end > Golang > Comment puis-je supprimer les caractères UTF-8 invalides dans Go ?

Comment puis-je supprimer les caractères UTF-8 invalides dans Go ?

Patricia Arquette
Libérer: 2024-12-14 16:10:17
original
195 Les gens l'ont consulté

How Can I Remove Invalid UTF-8 Characters in Go?

Suppression des caractères UTF-8 non valides dans Go

Lorsque vous travaillez avec des données JSON, il est possible de rencontrer des caractères UTF-8 non valides, entraînant des erreurs lors du marshaling. Ce problème est dû à la présence d'octets non conformes au codage UTF-8.

Gestion des caractères UTF-8 non valides

Dans Go, vous pouvez résoudre ce problème en supprimant ou remplacement des caractères invalides en utilisant diverses approches :

Go 1.13

strings.ToValidUTF8("a\xc5z", "")
Copier après la connexion

Go 1.11

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"))
Copier après la connexion

Cette fonction supprime tous les caractères UTF-8 non valides en les mappant à une valeur négative, ce qui donne le résultat attendu :

az
posico
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal