C#读取不同编码方式的文件

用C#的 baseStream 读取文本文件,文本文件保存的编码方式有 ANSI,Utf-8,Unicode 不同方式。读取出来的文件头部不一样。

ANSI 无文件头部,直接读取的是文件对应的ASCII码。

utf-8 文件头部是 239 187 191 。

unicode文件头部是 255 254。

可以通过这种方法 判断读取的文件是什么格式编码

 1  Stream baseStream = File.Open(fileName,FileMode.Open);
 2                 BinaryReader binaryReader = new BinaryReader(baseStream);
 3                 List<byte[]> buffTest = new List<byte[]>();
 4                 for (long i = 0; i < baseStream.Length; i = i + 100)
 5                 {
 6                     buffTest.Add(binaryReader.ReadBytes(100));
 7                 }
 8                
 9                 foreach(byte[] str in buffTest)
10                 {                    
11                     richTextBox1.Text +=byteToStr(str);
12                 }
13                 baseStream.Close();

首先定义一个stream,然后用此stream初始化一个binaryReader,通过二进制方式读取文件就可以判定了。

posted @ 2013-07-19 11:10  dancingwolves  阅读(863)  评论(0)    收藏  举报