windows下go编码转换问题
baizx · · 2206 次点击 · · 开始浏览github上有两个package做编码转换,都是基于iconv,用到了cgo,在linux下没有问题,在windows下用,非常麻烦。采用mingw安装libiconv也不行,一直提示找不到libiconv方法。
最终找到一个官方实现(纯go实现):
https://code.google.com/p/go/source/checkout?repo=text
gbk转utf-8示例:
func gbk2utf8(str byte[]) ([]byte, error) {
return ioutil.ReadAll(transform.NewReader(bytes.NewReader(str), simplifiedchinese.GBK.NewDecoder()))
}
经测试没有任何问题,大家可以方便引用,需要导入的包:
"golang.org/x/text/transform"
"golang.org/x/text/encoding/simplifiedchinese"如果golang.org下载不下来,可以去github上下载克隆版,
go get github.com/zieckey/golang.org
然后将golang.org移动到src目录下即可。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
github上有两个package做编码转换,都是基于iconv,用到了cgo,在linux下没有问题,在windows下用,非常麻烦。采用mingw安装libiconv也不行,一直提示找不到libiconv方法。
最终找到一个官方实现(纯go实现):
https://code.google.com/p/go/source/checkout?repo=text
gbk转utf-8示例:
func gbk2utf8(str byte[]) ([]byte, error) {
return ioutil.ReadAll(transform.NewReader(bytes.NewReader(str), simplifiedchinese.GBK.NewDecoder()))
}
经测试没有任何问题,大家可以方便引用,需要导入的包:
"golang.org/x/text/transform"
"golang.org/x/text/encoding/simplifiedchinese"如果golang.org下载不下来,可以去github上下载克隆版,
go get github.com/zieckey/golang.org
然后将golang.org移动到src目录下即可。