Menukar Mata Kod Unikod kepada Aksara Literal dalam Go
Andaikan anda menemui fail teks dengan titik kod unikod seperti berikut:
\u0053 \u0075 \u006E
Matlamat anda adalah untuk menukar mata kod ini kepada literal yang sepadan aksara:
S u n
Anda telah mencuba menggunakan ioutil.ReadFile("data.txt"), tetapi ia mengeluarkan titik kod dan bukannya aksara.
Penyelesaian: Menggunakan strconv.Unquote() dan strconv.UnquoteChar()
Untuk menangani anda isu, anda boleh menggunakan sama ada strconv.Unquote() atau strconv.UnquoteChar(). Walau bagaimanapun, ambil perhatian bahawa strconv.Unquote() memerlukan rentetan input untuk disertakan dalam petikan:
lines := []string{ `\u0053`, `\u0075`, `\u006E`, } for i, v := range lines { var err error lines[i], err = strconv.Unquote(`"` + v + `"`) if err != nil { fmt.Println(err) } }
Sebagai alternatif, jika anda ingin menyahpetik rune atau rentetan individu tanpa petikan, anda boleh menggunakan strconv.UnquoteChar() :
runes := []string{ `\u0053`, `\u0075`, `\u006E`, } for _, v := range runes { value, _, _, err := strconv.UnquoteChar(v, 0) if err != nil { fmt.Println(err) } fmt.Printf("%c\n", value) }
Pendekatan ini akan membolehkan anda menukar mata kod unikod kepada aksara literal dalam Go, sama ada ia disertakan dalam petikan atau tidak.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Mata Kod Unikod kepada Aksara Literal dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!