如题。
如:txt中有01020304050607080910101213141516171819
20212223242526272829303132343536373839
怎么读入一个byte数组。

解决方案 »

  1.   

    string txt="0102030405060708091010121314151617181920212223242526272829303132343536373839";
    byte[] ret=txt.Length/2;
    for(int i=0;i<ret.Length;i++)
      ret=Convert.ToByte(txt.Substring(i*2,2));
    return ret;
      

  2.   

    1 直接获取所有数据 
    byte[] _Byte =File.ReadAllByte(@"C:\1.txt");
    2 文字类型转换为byte
    string _AllText File.ReadAllText(@"C:\1.txt");byte[] _AllBytes=new byte[_AllText.Length/2];
    for(int i=0;i!=_AllBytes.Length;i++)
    {
      _AllBytes[i]=Convert.ToByte(_AllText.SubString(i*2),2);
    }
      

  3.   

    1楼即是我想要的,只是写得很烂!啥是啥啊?呵呵。
    3楼:
    第一种方法得到是还是ASCI码,不是我的数据数组,第二种方法即是01 02 ...数组和1楼一样。另外经测试如果txt是16进制数据就失败:如改为A1A2A304050...
    难度增加,加分!
      

  4.   

    测试,第二种方法也有投机行为,我要的是txt中的内容,而不是固定的01020304050607080910101213141516171819 
    经测试,把最后一个9去掉,那得到byte数组内容也没有了最后那一位1了。
      

  5.   

    每两位代表一个字节?
    你这都没有16进制的abcdef,本来就有问题