.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);