日期:2014-05-19  浏览次数:20885 次

关于Byte数组的疑问?
StreamReader   sr=new   StreamReader(fileName,Encoding.Default);
string   content=sr.ReadToEnd();
byte[]   bytes=Encoding.Default.GetBytes(content);

通过代码读入到   bytes   中

问题:
使用WinHex或者UltraEdit对比了几个文件发现每个文件的内容格式都是一样的
比如第一条记录都是在   0x8C0   开始与下一条记录相隔   0x770   格式都一样
第一条记录的名称从   0x8C0-0x8C3
通过string   content=Encoding.Defuale.GetString(bytes,0x8C0,4)
理应获取这段名称的内容,可是就是获取却是另外不通的内容
文件前面的其他内容都获取正常,真是百思不得其解

查看了   bytes   数组的值发现里面的   0x8C0   这个地方值也不是我要的值



------解决方案--------------------
文本文件的读取,自动包装过了

想要二进制内容,直接用FileStream
------解决方案--------------------
FileStream fs = new FileStream(fileName, FileMode.Open);
int nBytes = (int)FileStream.Length
byte[] bytes = new byte[nBytes];
fs.Read(bytes, 0, nBytes);
fs.Dispose();