Maison > développement back-end > Golang > Comment supprimer les caractères UTF-8 invalides d'une chaîne Go ?

Comment supprimer les caractères UTF-8 invalides d'une chaîne Go ?

Linda Hamilton
Libérer: 2024-12-09 21:42:11
original
979 Les gens l'ont consulté

How Do I Remove Invalid UTF-8 Characters from a Go String?

Élimination des caractères UTF-8 non valides dans une chaîne dans Go

L'encodage/décodage des données à l'aide d'UTF-8 garantit la compatibilité entre différents systèmes et caractères ensembles. Cependant, des caractères UTF-8 non valides peuvent survenir en raison d'erreurs de transmission, d'attaques malveillantes ou d'autres facteurs. La suppression de ces caractères est essentielle à l'intégrité des données et au bon encodage JSON.

Solution :

Pour résoudre ce problème dans Go, plusieurs approches sont disponibles :

  1. Allez 1.13 :

    • Dans Go 1.13 et versions ultérieures, la fonction strings.ToValidUTF8 fournit une solution pratique. Il prend une chaîne et un caractère de remplacement comme arguments et renvoie une copie de la chaîne avec des caractères UTF-8 non valides remplacés par le caractère spécifié.
    • Exemple :

      fixedString := strings.ToValidUTF8("a\xc5z", "")
      Copier après la connexion
  2. Allez 1.11 :

    • Dans Go 1.11 et les versions ultérieures, vous pouvez utiliser la fonction strings.Map en conjonction avec utf8.RuneError pour supprimer les caractères UTF-8 non valides. La fonction strings.Map applique une fonction de mappage à chaque caractère d'une chaîne, et utf8.RuneError est une constante représentant une rune UTF-8 non valide.
    • Exemple :

      fixUtf := func(r rune) rune {
          if r == utf8.RuneError {
              return -1
          }
          return r
      }
      
      fixedString := strings.Map(fixUtf, "a\xc5z")
      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