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) }
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!