go解析 \u70ed\u95e8 形式的字符串 转换为中文
如题,没有在网络上找到资源,又恰好有这个需求,于是憋出来了这个函数
对于初学go的我来说并不容易啊
要解析的字符串是这样的,是一个JSON
{"name":"\u70ed\u95e8"}
直接调用这个方法即可正常返回中文,注意此处正则表达式,请确保不会与你的其他内容匹配!
// BadStrToUtf8 如果中文显示成\u形式编码 可通过此方式译码
func BadStrToUtf8(input string) string {
reg, _ := regexp.Compile("\\\\u\\w{4}")
return reg.ReplaceAllStringFunc(input, func(input string) string {
replaceU := strings.Replace(input, "\\u", "", -1)
tmp, _ := strconv.ParseInt(replaceU, 16, 32)
return fmt.Sprintf("%s", string(rune(tmp)))
})
}