读书人

文件读取和编码的有关问题总是不不能

发布时间: 2012-01-18 00:23:26 作者: rapoo

文件读取和编码的问题,总是不不能读取文件最开始的两个字节(50分)。
由于要判断文件的编码,所以需要读取文件的最开始的几个字节,
如UTF8编码的文本文件的最开始的两个字节是 FF FE

我有一个UTF8文件 FF FE 2F 00 2A 00 0D 00 .......(使用UtralEdit查看出来的)

在C#程序中,使用如下代码读取
FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs,System.Text.Encoding.Unicode);
byte[] ss = r.ReadBytes(3);

发现ss中是2F,2A,0D三个数字,而最前面的FFEE并没有获取到,不知道怎么回事。

敢请大侠们出招相助。

先谢了

[解决办法]
BinaryReader r = new BinaryReader(fs,System.Text.Encoding.Unicode);
你都自己指定了Unicode编码,FF FE当然被BinaryReader忽略了。

你这样试试看:

C# code
  FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);   byte[] header;  fs.Read(header, 0, 2);
[解决办法]
顶了先
[解决办法]
你不能先编码再读。

读书人网 >C#

热点推荐