Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Mata Kod Unikod kepada Aksara Literal dalam Go?

Bagaimana untuk Menukar Mata Kod Unikod kepada Aksara Literal dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 00:46:09501semak imbas

How to Convert Unicode Code Points to Literal Characters in Go?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn