Maison > développement back-end > Golang > Comment convertir du texte à partir d'encodages arbitraires (par exemple, Windows-1256) en UTF-8 dans Go ?

Comment convertir du texte à partir d'encodages arbitraires (par exemple, Windows-1256) en UTF-8 dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-29 21:54:11
original
918 Les gens l'ont consulté

How to Convert Text from Arbitrary Encodings (e.g., Windows-1256) to UTF-8 in Go?

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 :

  1. Importez les packages nécessaires :

    • encodage pour la fonctionnalité d'encodage de base
    • golang. org/x/text/encoding/charmap spécifiquement pour Windows-1256 (remarque : ce package n'est pas disponible sur Go Playground)
  2. Initialiser un encodeur en utilisant l'encodage souhaité :

    decoder := charmap.Windows1256.NewDecoder()
    Copier après la connexion
  3. Créer un lecteur qui lira à partir du texte saisi dans l'encodage d'origine :

    reader := strings.NewReader(inputString)
    Copier après la connexion
  4. Créer un écrivain qui écrira dans le tampon de destination en UTF-8 :

    writer := transform.NewWriter(outputStream, utf8.UTF8.NewEncoder())
    Copier après la connexion
  5. Copiez les octets du lecteur vers l'écrivain, permettant à l'encodeur d'effectuer la conversion :

    io.Copy(writer, reader)
    Copier après la connexion
  6. Fermez l'enregistreur pour vider tous les octets restants et finaliser le conversion :

    writer.Close()
    Copier après la connexion

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!

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