Rumah >masalah biasa >Cara melakukan penukaran pengekodan dalam golang
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.
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" )
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 }
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) }
Jalankan program ini, hasil output hendaklah:
浣犲ソ锛嶆垜浠笂鍏?
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!