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

简介:

转自yhrun原文C#中StreamReader读取中文出现乱码

原因是自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(); 

 


 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6403274.html ,如需转载请自行联系原作者



相关文章
|
6月前
|
前端开发 Java C#
C#程序启动后乱码(通过idea启动)
C#程序启动后乱码(通过idea启动)
63 0
|
C#
C#之四十二 C# 读写文本文件乱码解决方案
C#之四十二 C# 读写文本文件乱码解决方案
386 0
【C#】【ffmpeg】外部调用线程执行ffmepg读取返回的信息乱码问题
【C#】【ffmpeg】外部调用线程执行ffmepg读取返回的信息乱码问题
197 0
【C#】【ffmpeg】外部调用线程执行ffmepg读取返回的信息乱码问题
C#编程-119:读取文件StreamReader类
C#编程-119:读取文件StreamReader类
123 0
C#编程-119:读取文件StreamReader类
|
C#
30天C#基础巩固------读写流(StreamWrite/StreamReader)
30天C#基础巩固------读写流(StreamWrite/StreamReader)
267 0
30天C#基础巩固------读写流(StreamWrite/StreamReader)
|
C# Windows
C# .net中cookie值为中文时的乱码解决方法
一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取cookie的值会出现乱码 解决办法:存取cookie时候先解码和编码 存cookie,进行编码: cookie.
1165 0
|
存储 移动开发 C#
一个不错的C# Telnet类库(改进了汉字显示乱码的问题)
园友e-shizhan给出了一个不错的C# Telnet类库,但存在汉字显示乱码的问题,本人做了改进,希望对大家有用。 原文:http://www.cnblogs.com/eshizhan/archive/2010/06/03/1750661.
1158 0