Maison > développement back-end > Golang > Comment puis-je convertir les encodages de texte en UTF-8 à l'aide du package « encoding » de Go ?

Comment puis-je convertir les encodages de texte en UTF-8 à l'aide du package « encoding » de Go ?

DDD
Libérer: 2025-01-03 04:34:38
original
816 Les gens l'ont consulté

How Can I Convert Text Encodings to UTF-8 Using Go's `encoding` Package?

Convertir les encodages en UTF-8 avec le package d'encodage de Go

Le package d'encodage de Go prend en charge la conversion de texte d'un encodage à un autre, y compris UTF-8. Voici comment utiliser ce package pour la conversion de texte :

Pour convertir un encodage en UTF-8, vous pouvez suivre les étapes suivantes :

  1. Importer le package d'encodage :

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "strings"
    )
    Copier après la connexion
  2. Déclarez un bytes.Buffer pour stocker l'encodé text.
  3. Créez un encodeur pour l'encodage de sortie souhaité (UTF-8 dans ce cas) et connectez-le au tampon.
  4. Encodez le texte source et écrivez-le dans le tampon.
  5. Fermez l'encodeur pour vider toutes les données restantes.

Voici un exemple qui convertit un UTF-8 chaîne vers ShiftJIS et retour :

// Convert String from UTF-8 to another encoding
func convertEncoding(s string, encoding string) string {
    encoder := json.NewEncoder(new(bytes.Buffer))
    if err := encoder.Encode(s); err != nil {
        fmt.Println("Encoding failed:", err)
        return ""
    }
    encodedStr, err := ioutil.ReadAll(encoder.Buffered())
    if err != nil {
        fmt.Println("Reading encoded string failed:", err)
        return ""
    }
    return strings.TrimSpace(string(encodedStr))
}

func main() {
    original := "日本語"
    encoded := convertEncoding(original, "shift_jis")
    fmt.Println("Encoded:", encoded)
    decoded := convertEncoding(encoded, "utf-8")
    fmt.Println("Decoded:", decoded)
}
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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal