Maison > développement back-end > Golang > Comment convertir du texte de Windows-1256 en UTF-8 dans Go ?

Comment convertir du texte de Windows-1256 en UTF-8 dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-29 16:43:18
original
267 Les gens l'ont consulté

How to Convert Text from Windows-1256 to UTF-8 in Go?

Encodage de texte dans Go

Lorsque vous travaillez avec des données texte, il est souvent nécessaire d'effectuer une conversion entre différents encodages. UTF-8 est un encodage largement utilisé qui est capable de représenter un large éventail de caractères.

Question : Comment convertir le texte d'un encodage tel que Windows-1256 arabe en UTF- 8 en Go ?

Réponse :

Pour effectuer cette conversion, utilisez le package d’encodage disponible dans Go. De plus, le package golang.org/x/text/encoding/charmap prend en charge divers encodages, notamment Windows-1256.

Exemple :

L'extrait de code suivant montre comment encoder du texte du japonais UTF-8 vers ShiftJIS, puis le décoder en UTF-8 :

package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "strings"

    "golang.org/x/text/encoding/japanese"
    "golang.org/x/text/transform"
)

func main() {
    // Input string
    s := "今日は"
    fmt.Println(s)

    // Encode: Convert s from UTF-8 to ShiftJIS
    var b bytes.Buffer
    wInUTF8 := transform.NewWriter(&b, japanese.ShiftJIS.NewEncoder())
    wInUTF8.Write([]byte(s))
    wInUTF8.Close()
    encodedBytes := b.Bytes()
    fmt.Printf("%#v\n", encodedBytes)
    encS := string(encodedBytes)
    fmt.Println(encS)

    // Decode: Convert encodedBytes from ShiftJIS to UTF-8
    rInUTF8 := transform.NewReader(strings.NewReader(encS), japanese.ShiftJIS.NewDecoder())
    decodedBytes, _ := ioutil.ReadAll(rInUTF8)
    decodedString := string(decodedBytes)
    fmt.Println(decodedString)
}
Copier après la connexion

Pour un exemple plus complet, reportez-vous au lien suivant : https://ja.stackoverflow.com/questions/6120.

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
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