Heim > Backend-Entwicklung > Golang > Wie konvertiert man in Go Text von Windows-1256 in UTF-8?

Wie konvertiert man in Go Text von Windows-1256 in UTF-8?

Mary-Kate Olsen
Freigeben: 2024-11-29 16:43:18
Original
160 Leute haben es durchsucht

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

Text in Go kodieren

Bei der Arbeit mit Textdaten ist es oft notwendig, zwischen verschiedenen Kodierungen zu konvertieren. UTF-8 ist eine weit verbreitete Kodierung, die eine Vielzahl von Zeichen darstellen kann.

Frage: Wie konvertiert man Text aus einer Kodierung wie Windows-1256 Arabic in UTF? 8 in Go?

Antwort:

Um diese Konvertierung durchzuführen, verwenden Sie das verfügbare Codierungspaket in Go. Darüber hinaus bietet das Paket golang.org/x/text/encoding/charmap Unterstützung für verschiedene Kodierungen, einschließlich Windows-1256.

Beispiel:

Der folgende Codeausschnitt demonstriert, wie man Text aus dem japanischen UTF-8 in ShiftJIS kodiert und anschließend wieder dekodiert 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)
}
Nach dem Login kopieren

Ein umfassenderes Beispiel finden Sie unter folgendem Link: https://ja.stackoverflow.com/questions/6120.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in Go Text von Windows-1256 in UTF-8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage