Дело:
Снова пытаюсь перехватить пакеты через мой NIC,
Я разработал 2 расширения для использования с переменным числом битов
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 бит?
Пожалуйста, предложите мне решения или идеи :)
С уважением,