Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar Teks dari Windows-1256 ke UTF-8 dalam Go?

Bagaimana untuk Menukar Teks dari Windows-1256 ke UTF-8 dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-29 16:43:18
asal
160 orang telah melayarinya

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

Pengekodan Teks dalam Go

Apabila bekerja dengan data teks, selalunya perlu menukar antara pengekodan yang berbeza. UTF-8 ialah pengekodan yang digunakan secara meluas yang mampu mewakili pelbagai jenis aksara.

Soalan: Bagaimanakah anda menukar teks daripada pengekodan seperti Windows-1256 Arabic kepada UTF- 8 in Go?

Jawapan:

Untuk melaksanakan ini penukaran, gunakan pakej pengekodan yang tersedia dalam Go. Selain itu, pakej golang.org/x/text/encoding/charmap menyediakan sokongan untuk pelbagai pengekodan, termasuk Windows-1256.

Contoh:

Coretan kod berikut menunjukkan cara mengekod teks daripada UTF-8 Jepun ke ShiftJIS dan kemudiannya menyahkodnya kembali ke 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)
}
Salin selepas log masuk

Untuk contoh yang lebih komprehensif, rujuk pautan berikut: https://ja.stackoverflow.com/questions/6120.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Teks dari Windows-1256 ke UTF-8 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan