Conversion du texte ANSI en UTF-8 dans Go
Dans Go, toutes les chaînes sont stockées au format UTF-8. Cependant, vous pourriez rencontrer des situations dans lesquelles vous devrez convertir du texte ANSI, qui utilise un codage de caractères différent, en UTF-8. Voici comment y parvenir :
Selon la spécification du langage Go, toutes les chaînes sont traitées au format UTF-8 en interne. Une conversion explicite n’est donc pas nécessaire. Si vous disposez d'un tableau d'octets représentant du texte ANSI, vous pouvez simplement utiliser l'extrait suivant pour le convertir en chaîne Go :
import ( "bytes" "unicode/utf8" ) func convertANSItoUTF8(ansiBytes []byte) string { reader := bytes.NewReader(ansiBytes) decoder := utf8.RuneReader(reader) var utf8String []rune for { r, size, err := decoder.ReadRune() if err != nil { break } utf8String = append(utf8String, r) } return string(utf8String) }
Cette fonction utilise la fonction utf8.RuneReader pour parcourir les octets ANSI et convertir les aux runes UTF-8. Les runes sont ensuite ajoutées à une tranche, qui est finalement convertie en chaîne UTF-8.
Remarque : Cette fonction suppose que l'entrée ANSI est valide. S'il y a des séquences invalides, le comportement de la fonction n'est pas défini.
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!