
正文
.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,,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);









