Maison >développement back-end >Golang >Comment convertir du texte de Windows-1256 en UTF-8 dans 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) }
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!