本文介绍了Golang将整数转换为Unicode字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
提供以下输入:
intVal := 2612
strVal := "2612"
有什么机制可以将关联的unicode值映射为字符串.
What is a mechanism for mapping to the associated unicode value as a string.
例如,以下代码显示☒"
For example, the following code prints "☒"
fmt.Println("\u2612")
但是以下方法不起作用:
But the following does not work:
fmt.Println("\\u" + strVal)
我研究了符文, strconv
和 unicode/utf8
,但是找不到合适的转换策略.
I researched runes, strconv
, and unicode/utf8
but was unable to find a suitable conversion strategy.
推荐答案
2612
不是unicode符文的整数值, \ u2612
的整数值 9746 .字符串"2612"
是符文的十六进制值,因此将其解析为十六进制数字并将其转换为 rune
.
2612
is not the integer value of the unicode rune, the integer value of \u2612
is 9746
. The string "2612"
is the hex value of the rune, so parse it as a hex number and convert it to a rune
.
i, err := strconv.ParseInt(strVal, 16, 32)
if err != nil {
log.Fatal(err)
}
r := rune(i)
fmt.Println(string(r))
https://play.golang.org/p/t_e6AfbKQq
这篇关于Golang将整数转换为Unicode字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!