Conversion d'encodage en Go : des encodages arbitraires à UTF-8
Lorsque vous travaillez avec du texte, il est essentiel de pouvoir convertir entre différents encodages. Go fournit un support pour cela via son package d'encodage. Une tâche de conversion courante consiste à transformer les données d'un ancien codage vers le format UTF-8 largement utilisé.
Conversion Windows-1256 vers UTF-8
Envisagez un scénario dans lequel le texte stocké dans le codage arabe Windows-1256 doit être converti en UTF-8. Pour y parvenir dans Go, suivez ces étapes :
Importez les packages nécessaires :
Initialiser un encodeur en utilisant l'encodage souhaité :
decoder := charmap.Windows1256.NewDecoder()
Créer un lecteur qui lira à partir du texte saisi dans l'encodage d'origine :
reader := strings.NewReader(inputString)
Créer un écrivain qui écrira dans le tampon de destination en UTF-8 :
writer := transform.NewWriter(outputStream, utf8.UTF8.NewEncoder())
Copiez les octets du lecteur vers l'écrivain, permettant à l'encodeur d'effectuer la conversion :
io.Copy(writer, reader)
Fermez l'enregistreur pour vider tous les octets restants et finaliser le conversion :
writer.Close()
Ce processus convertira avec succès le texte saisi de Windows-1256 en UTF-8, en préservant les caractères et leur représentation.
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!