golang: 中文转unicode字符
一,代码:
Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,
以满足跨语言、跨平台进行文本转换、处理的要求
package controller
import (
"encoding/json"
"fmt"
"github.com/gofiber/fiber/v2"
"log"
"strconv"
"strings"
"time"
"unicode"
)
type TestController struct{}
func NewTestController() *TestController {
return &TestController{}
}
func unicodeToUtf16(s string) string {
var result []string
for _, r := range s {
if unicode.IsLetter(r) || unicode.IsNumber(r) {
result = append(result, "\\u"+strconv.FormatInt(int64(r), 16))
} else {
result = append(result, string(rune(r)))
}
}
return strings.Join(result, "")
}
func (dc *TestController) Test(c *fiber.Ctx) error {
sText := "hello 你好"
fmt.Println("原文:",sText)
//第一种方式:
textQuoted := strconv.QuoteToASCII(sText)
textUnquoted := textQuoted[1 : len(textQuoted)-1]
fmt.Println(textUnquoted)
//第二种方式:
text := unicodeToUtf16(sText)
fmt.Println(text)
}
二,效果:
原文: hello 你好
hello \u4f60\u597d
\u68\u65\u6c\u6c\u6f \u4f60\u597d
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2021-11-25 vue.js 3.2.22:用@vueuse/core实现图片懒加载(@vueuse/core@7.0.3)