Home >Backend Development >Golang >How to Convert Unicode Code Points to Literal Characters in Go?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-19 00:46:09501browse

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

Converting Unicode Code Points to Literal Characters in Go

Suppose you encounter a text file with unicode code points like the following:

\u0053
\u0075
\u006E

Your goal is to convert these code points into their corresponding literal characters:

S
u
n

You've tried using ioutil.ReadFile("data.txt"), but it outputs the code points rather than the characters.

Solution: Utilizing strconv.Unquote() and strconv.UnquoteChar()

To address your issue, you can employ either strconv.Unquote() or strconv.UnquoteChar(). However, note that strconv.Unquote() requires the input strings to be enclosed in quotes:

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)
    }
}

Alternatively, if you want to unquote individual runes or strings without quotes, you can use 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)
}

These approaches will enable you to convert unicode code points to literal characters in Go, whether they are enclosed in quotes or not.

The above is the detailed content of How to Convert Unicode Code Points to Literal Characters in Go?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn