dotnetcore下解壓zip文件,解決中文文件名亂碼問題

(迄今爲止網上那些說的用Encoding.Default解決中文文件名亂碼的都不能真正解決問題!)ide

一、在程序開始處編碼

 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);spa

二、設置編碼爲GBKblog

class Program
    {
        static void Main(string[] args)
        {
            // 註冊代碼頁提供器實例
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 

            Uncompress("a.zip", "x");
        }

        static void Uncompress(string zipFile, string extractPath)
        {
            // 設置打開的ZIP文件的編碼爲GBK
            using (var zip = ZipFile.Open(zipFile, ZipArchiveMode.Read, Encoding.GetEncoding("GBK")))
            {
                foreach (var entry in zip.Entries)
                {
                    System.Console.WriteLine(entry.FullName);
                }
                zip.ExtractToDirectory(extractPath, true);
            }
        }
    }
相關文章
相關標籤/搜索