この形式のエンコードされたバイトのコレクションがあります。
[keybyte1(random 5-10 bytes)][keybyte2(random 5-10 bytes)]...rest of encoded byte...
今私がやろうとしているのは、ユーザーがキー (5-10 文字) を入力した場合、キーが または と同じかどうかを確認できることkeybyte1
ですkeybyte2
。keybyte1
イベント 1 を発生させたいのと同じ場合、イベントkeybyte2
2 を発生させたいのと同じ場合。
私の質問は次のとおりです: keybyte1 または 2 が両方ともランダムな長さである場合、次のようなコードで比較する方法:
FileStream fsin = new FileStream(fin, FileMode.Open);
byte[] buffer = new byte[(random 5-10)];
//check for keybyte1
fsin.Read(buffer, 0, (random 10-20));
if(buffer[0]=='0xsomething' || ... || buffer[9]=='0xsomething')
{
...event 1...
}
//check for keybyte2
//start from index 10 if keybyte1 is 10 bytes long
if(buffer[10]=='0xsomething' || ... || buffer[19]=='0xsomething')
{
...event 2...
}
keybyte1
これまでのところ、上記のコードはとkeybyte2
が固定長の場合にのみ有効です。これを回避する方法はありますか?