本文介绍了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字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 09:38