文件二进制读取问题
我已二进制读取一个文件,为什么用ReadChar()读取只能读出几个字符,可是我用ReadByte却能读出很多东西呢?!
示例代码如下:
char[] buffer = new char[100];
FileStream fs = new FileStream(dlg.FileName,FileMode.Open,FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
StringBuilder buf = new StringBuilder();
for(int i = 0;i < 100;i++)
{
buf.Insert(i,r.ReadByte());
}
以一个.exe的文件为例,当r.ReadByte()时可以读出"791030004000220010000000600000000000000
00000000000000000000081001311019231172381113111119139911113910182161110107920971403111412
21505044305684305804"
可是以ReadChar()时却只能读出"MZ"!!!!!!!!!
请各位大人说明一下是为什么?还有要怎么才能把文件已字符串形式全部读出并保存的字符串中?!