Home >Backend Development >Golang >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!