专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C#中StreamReader读取中文出现乱码

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:58:15       共计:3724 浏览

原因是自Windows 2000之后的操作系统在文件处理时默认编码采用Unicode

所以.NET文件的默认编码也是Unicode。除非另外指定,StreamReader的默认编码为Unicode,

而不是当前系统的ANSI代码页。但是文档大部分还是以ANSI编码存储,中文文本使用的是GB2312,所以才造成中文乱码

所以在读取文本的时候要指定编码格式。

使用System.Text.Encoding.Defaul告诉StreamReader采用目前操作系统的编码即可。

如:

1 2 3 4 5 6 7 8 9 FileStream fs =  new  FileStream( "1.txt" , FileMode.Open, FileAccess.Read);                  StreamReader read =  new  StreamReader(fs, Encoding.Default);                  string  str;                  while  (read.Peek() != -1)                                      str = read.ReadLine();                      Console.WriteLine(str);                                  read.Close(); 

 





版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#实现生成所有不重复的组合功能示例 | ·下一条:c#读取指定目录下的所有doc文件方法类

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有