示例字符串:
"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u044b! \n\u0421\u043f\u0430\u0441\u0438\u0431\u043e \ud83d\udcf8 link.ru \u0437\u0430 \n#hashtag Русское слово, an English word"
没有这个\ud83d\udcf8
,我的功能就可以很好地发挥作用:
func convertUnicode(text string) string {
s, err := strconv.Unquote(`"` + text + `"`)
if err != nil {
// Error.Printf("can't convert: %s | err: %s\n", text, err)
return text
}
return s
}
我的问题是如何检测文本包含此类条目?以及如何将其转换为表情符号或如何从文本中删除?谢谢
答案 0 :(得分:2)
好吧,可能不是\ud83d
和\udcf8
都不是有效的代码点,而是UTF-16编码中用来替代\U0001F4F8
的替代对。现在strconv.Unquote
将为您提供两个代理半部分,您必须将自己组合在一起。