Golang GBK转UTF-8的例子

yipeiwu_com5年前Python基础

问题:在 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的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用11行Python代码盗取了室友的U盘内容

使用11行Python代码盗取了室友的U盘内容

序言 那个猥琐的家伙整天把个U盘藏着当宝,到睡觉了就拿出来插到电脑上。 我决定想个办法看他U盘里都藏了什么,直接去抢U盘是不可能的,骗也是不可能的。那不是丢我Python程序员的脸? 我...

python内存管理机制原理详解

python内存管理机制原理详解

python内存管理机制: 引用计数 垃圾回收 内存池 1. 引用计数 当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时 引用计数减 1...

Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】

本文实例讲述了Python函数基础用法。分享给大家供大家参考,具体如下: 一、什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数。 特点: 1、约束函数的调用者必须按照Kye...

基于python traceback实现异常的获取与处理

这篇文章主要介绍了基于python traceback实现异常的获取与处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、trac...

PyCharm导入python项目并配置虚拟环境的教程详解

PyCharm导入python项目并配置虚拟环境的教程详解

进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹; 打开了python项目后,需要配置该项目对应的python才可以正常运行; 配置步骤:File→...