windows下go编码转换问题

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