Penukaran Pengekodan dalam Go: Ubah Teks daripada Bukan UTF-8 kepada UTF-8
Penukaran teks daripada satu pengekodan kepada yang lain , seperti dari Windows-1256 Arabic ke UTF-8, adalah tugas biasa dalam pembangunan perisian. Dalam Go, ini boleh dicapai dengan pakej pengekodan.
Pakej pengekodan menyediakan sokongan untuk pelbagai pengekodan, termasuk Windows-1256. Untuk menukar teks daripada Windows-1256 kepada UTF-8, anda boleh menggunakan pakej charmap, yang menyediakan pilihan pengekodan Windows-1256.
Berikut ialah contoh yang menggambarkan proses:
package main import ( "bytes" "fmt" "golang.org/x/text/encoding/charmap" "golang.org/x/text/transform" ) func main() { // Declare a Windows-1256 decoder that will read from our input string. decoder := transform.NewReader(strings.NewReader("This is a Windows-1256 string."), charmap.Windows1256.NewDecoder()) // Convert the string to UTF-8 by writing to a bytes buffer. var b bytes.Buffer if _, err := b.ReadFrom(decoder); err != nil { fmt.Println(err) return } fmt.Println(b.String()) }
Dalam contoh ini, fungsi transform.NewReader digunakan untuk mencipta penyahkod yang membaca daripada rentetan yang dikodkan Windows-1256. Penyahkod ini kemudiannya digunakan untuk menukar rentetan kepada UTF-8, menghasilkan rentetan output berkod UTF-8 yang dicetak ke konsol.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Teks Bukan UTF-8 (cth., Windows-1256) kepada UTF-8 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!