Golang 将UTF16字符串转换为UTF8

3

我正在构建一个Emoji统一Unicode字符到它们的通用名称的映射表。我有一个表示每个Emoji的字符串,格式为UTF16。例如,字符串“00A9”表示版权符号。我需要将其转换为utf8的符文,以便可以与用户输入的内容进行比较,但是我还没有找到正确的十六进制/utf16/utf8包的组合来实现这一点。

3个回答

1

解析十六进制字符串为整数。使用字符串转换将整数转换为UTF-8。

n, err := strconv.ParseInt("00A9", 16, 32)
if err != nil {
    log.Fatal(err)
}
s := string(rune(n))

示例游乐场


0

你可以尝试使用库:编码检测

s := "..."
s = cpd.DecodeUTF16be(s)
s = cpd.DecodeUTF16le(s)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接