Rumah > masalah biasa > Cara melakukan penukaran pengekodan dalam golang

Cara melakukan penukaran pengekodan dalam golang

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2023-06-13 15:03:04
asal
2553 orang telah melayarinya

Kaedah untuk penukaran pengekodan dalam golang ialah: 1. Buat fail sampel Go 2. Import pakej "pengekodan" dan "unicode/utf8" dalam perpustakaan standard; untuk menerima Rentetan berkod UTF-8 diambil sebagai input dan rentetan berkod GBK dikembalikan; 4. Panggil fungsi "utf8ToGBK" dan cetak hasilnya.

Cara melakukan penukaran pengekodan dalam golang

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi Go1.20.1, komputer Dell G3.

Untuk penukaran pengekodan di Golang, anda boleh menggunakan pakej `pengekodan` dan `unicode/utf8` dalam pustaka standard.

Berikut ialah contoh kod mudah untuk menukar rentetan yang dikodkan UTF-8 kepada pengekodan GBK.

1. Mula-mula, anda perlu mengimport pakej berikut:

import (
    "fmt"
    "golang.org/x/text/encoding/simplifiedchinese"
    "golang.org/x/text/transform"
)
Salin selepas log masuk

Seterusnya, kami mentakrifkan fungsi `utf8ToGBK`, yang menerima rentetan yang dikodkan UTF-8 sebagai input dan mengembalikan pengekodan GBK rentetan.

func utf8ToGBK(input string) (string, error) {
    // 将输入的UTF-8编码的字符串转换为字节数组
    inputBytes := []byte(input)
    // 定义一个transformer,将UTF-8编码转换为GBK编码
    transformer := simplifiedchinese.GBK.NewEncoder()
    // 执行转换
    outputBytes, err := transform.Bytes(transformer, inputBytes)
    if err != nil {
        return "", fmt.Errorf("convert to GBK failed: %v", err)
    }
    // 将转换后的字节数组转换回字符串
    output := string(outputBytes)
    return output, nil
}
Salin selepas log masuk

Akhir sekali, kami memanggil fungsi `utf8ToGBK` dan mencetak hasil output:

func main() {
    input := "你好,世界!"
    output, err := utf8ToGBK(input)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(output)
}
Salin selepas log masuk

Jalankan program ini, hasil output hendaklah:

浣犲ソ锛嶆垜浠笂鍏?
Salin selepas log masuk

Perhatikan bahawa rentetan ini adalah GBK Dikodkan, aksara bercelaru mungkin muncul pada sesetengah monitor kerana ketidakupayaan untuk menghuraikan GBK dengan betul.

Atas ialah kandungan terperinci Cara melakukan penukaran pengekodan dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan