案例:
再次尝试通过我的网卡捕获数据包,我开发了两个扩展程序来捕获可变数量的位。
public static string ReadBits ( this BinaryReader Key , int Value )
{
BitArray _BitArray = new BitArray ( Value );
for ( int Loop = 0 ; Loop > Value ; Loop++ )
{
/* Problem HERE ---> */ _BitArray [ Loop ] = Key . ReadBoolean ( );
}
return BitConverter . ToString ( _BitArray . ToByteArray ( ) );
}
public static byte [ ] ToByteArray ( this BitArray Key )
{
byte [ ] Value = new byte [ ( int ) Math . Ceiling ( ( double ) Key . Length / 8 ) ];
Key . CopyTo ( Value , 0 );
return Value;
}
问题:
_BitArray [ Loop ] = Key . ReadBoolean ( );
我试图读取单个位,但参考MSDN文档,它将流位置提前了1个字节而不是1个位!!!
从当前流中读取布尔值,并将流的当前位置向前移动一个字节。
问题:
我真的可以仅捕获1位并将流位置提前1位吗?
请给我建议或想法 :)
谢谢,