Golang ialah bahasa pengaturcaraan yang cekap yang boleh digunakan untuk pembangunan dalam pelbagai bidang, termasuk penukaran bahasa Cina. Penukaran bahasa Cina adalah penting dalam banyak senario aplikasi, seperti enjin carian, pembelajaran mesin, dll. Artikel ini akan memperkenalkan kaedah penukaran bahasa Cina di Golang.
Di Golang, rentetan itu sendiri dikodkan dalam UTF-8, jadi pengekodan dan penyahkodan diperlukan semasa memproses aksara Cina. Ia boleh dilaksanakan menggunakan fungsi dalam pakej rentetan yang disediakan oleh Golang.
1.1 Dapatkan kod ASCII daripada rentetan Cina
Gunakan fungsi ToASCII pakej rentetan untuk mendapatkan kod ASCII daripada rentetan Cina:
Contoh kod:
import ( "fmt" "strconv" "strings" ) func main() { str := "Hello,世界!" asciiStr := strings.ToASCII(str) fmt.Println(asciiStr) }
Hasil keluaran:
Hello@u4e16u754c!
1.2 Pulihkan rentetan Cina daripada kod ASCII
Gunakan fungsi Nyahpetikan pakej strconv untuk memulihkan rentetan Cina daripada kod ASCII:
Kod contoh:
import ( "fmt" "strconv" ) func main() { asciiStr := `"Hello@u4e16u754c!"` str, _ := strconv.Unquote(asciiStr) fmt.Println(str) }
Hasil keluaran:
Hello,世界!
Apabila memproses fail Cina, kaedah pengekodan yang berbeza perlu digunakan, seperti GB2312, GBK, UTF-8, dsb. Golang juga menyediakan pakej dan fungsi yang sepadan untuk pemprosesan.
2.1 Baca fail dalam format pengekodan GB2312
Gunakan pakej bufio dan fungsi NewDecoder pakej GB2312 untuk membaca fail teks dalam format pengekodan GB2312:
Contoh kod:
import ( "bufio" "fmt" "io" "os" "golang.org/x/text/encoding/simplifiedchinese" ) func main() { file, err := os.Open("test.txt") if err != nil { fmt.Println(err) } defer file.Close() reader := bufio.NewReader(file) decoder := simplifiedchinese.GB2312.NewDecoder() for { line, err := reader.ReadString(' ') if err != nil || io.EOF == err { break } str, err := decoder.String(line) if err != nil { fmt.Println(err) } fmt.Println(str) } }
2.2 Baca fail dalam format pengekodan UTF-8
Gunakan pakej bufio dan fungsi NewDecoder pakej UTF-8 untuk membaca fail teks dalam format pengekodan UTF-8:
Kod contoh :
import ( "bufio" "fmt" "io" "os" "golang.org/x/text/encoding/unicode" ) func main() { file, err := os.Open("test.txt") if err != nil { fmt.Println(err) } defer file.Close() reader := bufio.NewReader(file) decoder := unicode.UTF8.NewDecoder() for { line, err := reader.ReadString(' ') if err != nil || io.EOF == err { break } str, err := decoder.String(line) if err != nil { fmt.Println(err) } fmt.Println(str) } }
Apabila berurusan dengan pangkalan data Cina, faktor seperti set aksara dan kaedah pengekodan perlu dipertimbangkan. Golang menyediakan pakej pangkalan data/sql dan pemacu yang sepadan, yang boleh menyambung ke pelbagai pangkalan data dan menukar aksara Cina Berikut menggunakan pangkalan data MySQL sebagai contoh.
3.1 Sambung ke pangkalan data MySQL
Mula-mula anda perlu memasang pemacu MySQL:
go get github.com/go-sql-driver/mysql
Kemudian sambung ke pangkalan data, tetapkan set aksara dan kaedah pengekodan:
Contoh kod:
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4") if err != nil { fmt.Println(err) } defer db.Close() }
3.2 Kueri pangkalan data MySQL
Gunakan fungsi pertanyaan dalam pakej sql untuk pertanyaan data, dan tetapkan set aksara dan pengekodan:
Kod contoh:
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4") if err != nil { fmt.Println(err) } defer db.Close() rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println(err) } defer rows.Close() for rows.Next() { var name string var age int err = rows.Scan(&name, &age) if err != nil { fmt.Println(err) } fmt.Println(name, age) } }
Melalui contoh kod di atas, dapat dilihat bahawa kaedah pemprosesan aksara Cina di Golang adalah terutamanya menggunakan pakej dan fungsi yang sepadan, yang agak mudah dan mudah digunakan. Apabila perlu untuk menangani masalah aksara Cina, anda boleh menggunakan Golang untuk melaksanakan operasi yang sepadan untuk meningkatkan prestasi dan kecekapan aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk menukar bahasa Cina dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!