ケース:
再び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ビットをキャプチャしてストリーム位置を1ビット進めることはできますか?
解決策やアイデアを教えてください:)
よろしく、