golang zip中文乱码怎么解决


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

问题

go语言自带的zip包可以解压zip文件。然而,如果你用winrar压缩成zip后。再用go去解压会发现文件名称是乱码。而当你使用一众国产压缩软件压缩后再解压却不是乱码。

原因

winrar压缩时,默认采用本地编码方式来进行压缩。在中国,本地编码方式一般是GBK。而我们知道go语言字符串都是utf-8格式的,所以有可能出现乱码的情况。

8d337e97c6b29150190700dc46d842d.png

解决方案

判定文件名编码方式,如果为GBK,则转换GBK=》utf-8

由上面图片我们知道如果flags字段11bit位为1则是utf-8编码,0为本地编码。

代码

代码中要用到如下两个包:

"golang.org/x/text/encoding/simplifiedchinese"

阅读剩余部分

相关阅读 >>

同样都是使用接口,java和go差距咋就这么大呢?

(一)gof 通过epoll模型管理连接

golang 适合开发什么

skywalking golang客户端源码解析

go - json.unmarshal 遇到的小坑

go - 统一定义 api 错误码

涂鸦智能 dubbo-go 亿级流量的实践与探索

kotlin coroutines vs goroutines

go的值类型和引用类型1——传递和拷贝

golang文件复制

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...