优艾设计网

unzip解压出的文件名称是乱码 财富值37?

优艾设计网 https://www.uibq.com 2023-04-23 09:18 出处:网络 作者:PS教程自学
如果是用第三方压缩程序压缩的文件或文件夹名称不是英文,用以下函数解压后就会乱码。太菜不知如何不乱码,求解。 func Unzip(src, dest string) error {reader, err := zip.OpenReader(src) if err != nil { return

如果是用第三方压缩程序压缩的文件或文件夹名称不是英文,用以下函数解压后就会乱码。
太菜不知如何不乱码,求解。

func Unzip(src, dest string) error {reader, err := zip.OpenReader(src) if err != nil { return err }defer reader.Close()for _, f := range reader.File { rc, err := f.Open() if err != nil { log.Fatal(err) return err }defer rc.Close()fpath := filepath.Join(dest, f.Name)if f.FileInfo().IsDir() { err = os.MkdirAll(fpath, 0755)if err != nil { log.Fatal(err) return err } } else { var fdir string if lastIndex := strings.LastIndex(fpath, string(os.PathSeparator)); lastIndex > -1 { fdir = fpath[:lastIndex] }if len(f.Name) < 150 {err = os.MkdirAll(fdir, 0755) if err != nil { log.Fatal(err) return err }fi, err := os.OpenFile(fpath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode()) if err != nil { log.Fatal(err) return 优艾设计网_设计百科err }defer fi.Close()_, err = io.Copy(fi, rc) if err != nil { log.Fatal(err) return err } } } }return nil }


0

精彩评论

暂无评论...
验证码 换一张
取 消