我有一个.DAT文件,用UE查看时发现数据(short int类型的)都是低位在前,高位在后排列的,如BF FF,这个数的值是-64,(这是我用matlab读出的),可是我就是不知道怎么用c#编程出来。有哪儿大大能帮我看一下吗?谢谢,顺便把我的数据文件发上去

解决方案 »

  1.   

    什么叫16进制的.Dat文件。 你看到的16进制只是个展现形式。 不是文本就是二进制流形式
      

  2.   

    .net 的 System.IO.FileStream 对象的 ReadByte() 和 Read(byte[] array, int offset, int count) 方法都可以直接做这个事。
      

  3.   

    读出的两个byte就可以合取,例如你可以测试:byte a = 0xbf;
    byte b = 0xff;
    var v = (int)a << 8 | b; //高位在前边
    Console.WriteLine((short)v);
      

  4.   

    最近刚刚好也做了一个这个东东System.IO.FileStream fsData=new System.IO.FileStream(this.textBox1.Text,System.IO.FileMode.Open,System.IO.FileAccess.Read);
    byte[] bs=new byte[dataLen];
    fsData.Read(bs,0,dataLen); 核心代码供参考