Golang GBK转UTF-8的例子
2019-10-23 18:05
5833 查看
问题:在 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与UTF-8互转
- python3的url编码和解码,自定义gbk、utf-8的例子
- Golang 中 GBK 与 UTF-8 的转换
- Golang GBK转UTF-8
- 编码问题,utf-8、gbk、ascii码,懂了下面的例子,一切就懂了
- ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE
- 字符编码ANSI、ASCII、GB2312、GBK、GB18030、UNICODE、UTF-8小结
- GBK,UTF-8,Unicode的区别
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系
- GBK,UTF-8,和ISO8859-1之间的编码与解码
- 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, UTF8.(GBK, GB18030, BIG5, UTF-7,UTF-16,UTF-32) .
- UTF-8、GBK和GB2312 之间的区别和关系
- linux C gbk utf-8编码转换
- GBK和UTF的区别
- ASCII,ISO8859-1,GBK,GB18030,Unicode,UTF-8详解
- UNICODE,GBK,UTF-8区别
- postgresql 关于GBK和utf-8字符集问题
- php 支持gb2312,gbk,utf-8,big5 中文截取方法
- [Linux系统编程]将GBK转换成UTF-8
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系