windows下go编码转换问题

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

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

目录
相关文章
|
Go Windows
Go 交叉编译 跨平台编译(windows系统跨平台编译)
Go 交叉编译 跨平台编译(windows系统跨平台编译)
78 0
|
3月前
|
自然语言处理 Linux Windows
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
33 1
|
3月前
|
Linux Go
Linux——windows10下的Ubuntu18.04安装并配置go环境
Linux——windows10下的Ubuntu18.04安装并配置go环境
51 1
|
3月前
|
存储 NoSQL 测试技术
go最佳实践:如何舒适地编码
go最佳实践:如何舒适地编码
|
3月前
|
JavaScript 程序员 Go
Windows下如何玩转火热的go-zero
Windows下如何玩转火热的go-zero
|
4月前
|
存储 Go API
一个go语言编码的例子
【7月更文挑战第2天】本文介绍Go语言使用Unicode字符集和UTF-8编码。Go中,`unicode/utf8`包处理编码转换,如`EncodeRune`和`DecodeRune`。`golang.org/x/text`库支持更多编码转换,如GBK到UTF-8。编码规则覆盖7位至21位的不同长度码点。
178 1
一个go语言编码的例子
|
4月前
|
Linux Go API
go创建web项目分别在windows和linux部署
go创建web项目分别在windows和linux部署
51 0
|
5月前
|
应用服务中间件 Windows
Windows下CMD和Tomcat设置编码为UTF-8
解决CMD和Tomcat中文乱码问题:通过修改注册表永久设置CMD编码为UTF-8,路径 `\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe`,修改CodePage为65001。Tomcat日志乱码时,在 `\HKEY_CURRENT_USER\Console` 下新建Tomcat项,添加DWORD值PageCode,值设为65001。
234 2
|
6月前
|
JSON JavaScript 前端开发
Golang深入浅出之-Go语言JSON处理:编码与解码实战
【4月更文挑战第26天】本文探讨了Go语言中处理JSON的常见问题及解决策略。通过`json.Marshal`和`json.Unmarshal`进行编码和解码,同时指出结构体标签、时间处理、omitempty使用及数组/切片区别等易错点。建议正确使用结构体标签,自定义处理`time.Time`,明智选择omitempty,并理解数组与切片差异。文中提供基础示例及时间类型处理的实战代码,帮助读者掌握JSON操作。
170 1
Golang深入浅出之-Go语言JSON处理:编码与解码实战
|
6月前
|
监控 安全 Go
Go语言高效编码:利用上网行为管理软件实现实时警报系统
本文介绍了如何使用Go语言构建一个实时警报系统,用于监控和管理用户上网行为。通过定义监控规则(如使用正则表达式匹配特定网站),程序可以在检测到违规行为时触发警报。利用Go的goroutine实现并发处理,保证系统高效和实时。此外,系统还将警报信息自动提交至网站,便于管理员及时响应,提升网络安全和员工 productivity。
173 9