windows下go编码转换问题

Posted baizx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下go编码转换问题相关的知识,希望对你有一定的参考价值。

github上有两个package做编码转换,都是基于iconv,用到了cgo,在linux下没有问题,在windows下用,非常麻烦。采用mingw安装libiconv也不行,一直提示找不到libiconv方法。

最终找到一个官方实现(纯go实现):
https://code.google.com/p/go/source/checkout?repo=text

gbkutf-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目录下即可。

以上是关于windows下go编码转换问题的主要内容,如果未能解决你的问题,请参考以下文章

Go 编码建议——性能篇

Windows编程下的字符串格式及编码问题

你知道的Go切片扩容机制可能是错的

解决windows文件在linux系统中显示乱码的问题

Windows系统下Eclipse下默认的编码格式是啥?GBK?已有的工程文件转换为UTF-8之后为何不能正确读取?

windows 下开发的 java项目 部署Linux服务器 的 问题