Golang 将整数转换为 unicode 字符

0 string unicode go

给定以下输入:

intVal := 2612
strVal := "2612"
Run Code Online (Sandbox Code Playgroud)

什么是映射到相关联的 unicode 值作为字符串的机制。

例如,以下代码打印“?”

fmt.Println("\u2612")
Run Code Online (Sandbox Code Playgroud)

但以下不起作用:

fmt.Println("\\u" + strVal)
Run Code Online (Sandbox Code Playgroud)

我研究的符文,strconvunicode/utf8,但未能找到合适的转换策略。

Jim*_*imB 5

2612不是unicode符文的整数值,\u2612是的整数值9746。该字符串"2612"是符文的十六进制值,因此将其解析为十六进制数并将其转换为rune.

i, err := strconv.ParseInt(strVal, 16, 32)
if err != nil {
    log.Fatal(err)
}
r := rune(i)
fmt.Println(string(r))
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/t_e6AfbKQq