Penukaran Pengekodan dalam Go: Daripada Pengekodan Arbitrari kepada UTF-8
Apabila bekerja dengan teks, adalah penting untuk dapat menukar antara pelbagai pengekodan. Go menyediakan sokongan untuk ini melalui pakej pengekodannya. Satu tugas penukaran biasa ialah menukar data daripada pengekodan warisan kepada UTF-8 yang digunakan secara meluas.
Penukaran Windows-1256 kepada UTF-8
Pertimbangkan senario di mana teks yang disimpan dalam pengekodan Arab Windows-1256 perlu ditukar kepada UTF-8. Untuk mencapai matlamat ini dalam Go, ikut langkah berikut:
Import pakej yang diperlukan:
Mulakan pengekod menggunakan pengekodan yang diingini:
decoder := charmap.Windows1256.NewDecoder()
Buat pembaca yang akan membaca daripada teks input dalam pengekodan asal:
reader := strings.NewReader(inputString)
Buat penulis yang akan menulis kepada penimbal destinasi dalam UTF-8:
writer := transform.NewWriter(outputStream, utf8.UTF8.NewEncoder())
Salin bait daripada pembaca ke dalam penulis, membenarkan pengekod melakukan penukaran:
io.Copy(writer, reader)
Tutup penulis untuk membuang sebarang bait yang tinggal dan memuktamadkan penukaran:
writer.Close()
Proses ini akan berjaya menukar teks input daripada Windows-1256 kepada UTF-8, mengekalkan aksara dan perwakilannya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Teks daripada Pengekodan Arbitrari (cth., Windows-1256) kepada UTF-8 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!