Golang 将 UTF16 字符串转换为 UTF8

Golang convert UTF16 string to UTF8

我正在构建表情符号统一 unicode 字符与其通用名称的映射。我有代表每个表情符号的字符串,采用 UTF16 格式。例如,字符串“00A9”表示版权符号。我需要将其转换为 utf8 符文,以便我可以将其与我从用户收到的输入进行比较,但我还没有找到 hex/utf16/utf8 包的正确用法。

Parse the hex string as an integer. Use a string conversion 将整数转换为 UTF-8。

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

playground example

Go 中有 unicode 包

你可以尝试库:codepage detect

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