Go字符集编码转换

Clown95 · · 2123 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


title: Go字符集编码转换
tags: Go


背景

从文本中读取内容的时候发现中文乱码

问题:在 Golang 的调试过程中出现中文乱码
原因:Golang 默认不支持 UTF-8 以外的字符集
解决:将字符串的编码转换成UTF-8

前提

首先我们需要使用mahonia 这个包,可以使用命令安装。

go get github.com/axgle/mahonia

使用方法

  1. 导入mahonia
    import "github.com/axgle/mahonia"
  2. 编写以下函数
func ConvertToString(src string, srcCode string, tagCode string) string {
    srcCoder := mahonia.NewDecoder(srcCode)
    srcResult := srcCoder.ConvertString(src)
    tagCoder := mahonia.NewDecoder(tagCode)
    _, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
    result := string(cdata)
    return result
}
  • src 源字符串
  • srcCode 字符当前的编码,如 GBK
  • tagCode 要转换的目标编码 ,如UTF-8

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Clown95

查看原文:Go字符集编码转换

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2123 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传