知识分享之Golang——在Golang中unicode码和中文的互相转换函数

2022-06-08 17:19:14 浏览数 (1)

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

  • 系统:windows10
  • 语言:Golang
  • golang版本:1.18

内容

本节我们分享unicode码和中文的互相转换函数,以下是本次的相关代码:

1、中文转unicode

代码语言:javascript复制
    str := "这是一段测试的话术"
    textQuoted := strconv.QuoteToASCII(str)
    textUnquoted := textQuoted[1 : len(textQuoted)-1]
    fmt.Println("转为unicode:", textUnquoted)

2、unicode 转中文

代码语言:javascript复制
func main() {
    // 这是中文转为unicode
    str := "这是一段测试的话术"
    textQuoted := strconv.QuoteToASCII(str)
    textUnquoted := textQuoted[1 : len(textQuoted)-1]
    fmt.Println("转为unicode:", textUnquoted)

    // 这是unicode转为中文
    v, _ := zhToUnicode([]byte(textUnquoted))
    fmt.Println("转为中文:", string(v))
}
func zhToUnicode(raw []byte) ([]byte, error) {
    str, err := strconv.Unquote(strings.Replace(strconv.Quote(string(raw)), `\u`, `u`, -1))
    if err != nil {
        return nil, err
    }
    return []byte(str), nil
}
本文声明:

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

0 人点赞