.Net Core 指定編碼格式的問題


我們在讀取txt文件時,如果文件格式不是utf8,則獲取的中文會亂碼,所以要么另存文件為utf8格式,要么使用和文件相同的編碼來讀取。

如果文件為utf8,則:

            //一種
            StreamReader sr = new StreamReader(@"C:\Users\LIKUI\Desktop\密碼.txt", Encoding.Default);
            var reader_Str = sr.ReadToEnd();

            //第二種
            string upStr = File.ReadAllText(@"C:\Users\LIKUI\Desktop\密碼.txt", Encoding.Default);
           
            //第三種
            FileStream fs = File.OpenRead(@"C:\Users\LIKUI\Desktop\密碼.txt");
            int num = fs.Read(bt,0,bt.Length);
            var str = Encoding.Default.GetString(bt);
            Console.WriteLine(str);

用Encoding.UTF8和Encoding.UTF8.GetString(bt)均可以。

 

如果不修改文件編碼,則需要指定格式進行讀取

 

 直接報錯,需要添加NuGet程序包 System.Text.Encoding.CodePages

//注冊編碼(放在將要指定編碼,進行文件解析前)
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM