C#字符转换问题,路过的进来看看....
该文件用记事本打开看不到什么东西,就几个乱码.
用VS
打开文件如下格式:
30 00 47 33 31 35 38 00 00 00 93 14 01 00 BD 00
13 00 C7 00 14 00 DA 00 1D 00 EC 00 33 00 11 02
该文件包含着一些数据.
我现在想把这个文件读出来,而且读出来的数据可以让人看懂.
我用StreamReader读出来的依然是乱码...
不知道是不是还要字符转换啊?
望大虾指点下,感激不禁啊!
最好给点代码.
------解决方案--------------------先用编码器 GB2312 编译一下,然后再读取...
------解决方案--------------------你的文件是不是文本格式的?
------解决方案--------------------是什么格式的文件
------解决方案--------------------看起来都是16进制的数
------解决方案--------------------独有的文件格式可能根本不存字符 转换有啥用啊
------解决方案--------------------你不知道他的数据储存结构没用,取不了
------解决方案--------------------这个文件是二进制流文件,你必须知道其文件存储格式,才能转换成有意义的数据
------解决方案--------------------没有数据的存储格式没办法去数据
------解决方案--------------------引入是流的格式错啊
------解决方案--------------------光知道字段,数据类型是不行的,比如把一个对象写到文件中,你不知道类怎么读?
------解决方案--------------------二进制文件,你必须知道其文件存储格式
再用Response.BinaryWrite输出
------解决方案--------------------读写二进制文件没有什么特别的
FileStream fs=File.OpenRead( "文件名 ");
byte[] buf=new byte[fs.length];
fs.read(buf,0,buf.length);
一个不是很大的文件这样就可以读进来,关键是要知道那个文件的存储结构,要知道上面那个字节数组的哪个位置是存储的什么数据。
例如,如果知道第1字节到第4字节存储的是日期,5,6字节存储温度值,那就可以通过处理得到有用的数据。
这个定义你就要去问定义那个文件的人了