Golang GBK转UTF-8的例子

树缝里也漏着一两点路灯光,没精打彩的,是渴睡人的眼。春尚浅,几处山顶上的梅花却挣扎着吐出红苞来。微风柔和地吹,柔和地爱抚我的面孔。荷塘里的荷花都羞涩地打着朵。落叶随着风高低起舞。

问题:在 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

}

例子:

调用 ConvertToString 方法

str := "乱码的字符串变量"

str = ConvertToString(str, "gbk", "utf-8")

fmt.Println(str)

以上这篇Golang GBK转UTF-8的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签: Golang GBK