应用场景: 读取文件的时候乱码

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

首先需要 mahonia 这个包

go get github.com/axgle/mahonia
  •  

然后新建一个 func 
src 字符串 
srcCode 字符串当前编码 
tagCode 要转换的编码

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
}