2 つのバイナリ ファイル"bigFile.bin"
と"smallFile.bin"
. が含まれてい
ます。
比較を超えてそれを開くと、それが確認されます。 "bigFile.bin"
"smallFile.bin"
小さいファイルを大きい方から「result.bin」に抽出したいと思います"smallFile.bin"
。
2 つのキーワードがあります。1 つは開始位置 ("Section") 用で、もう 1 つは終了位置 ("Man") 用です。
私は次のことを試しました:
byte[] bigFile = File.ReadAllBytes("bigFile.bin");
UTF8Encoding enc = new UTF8Encoding();
string text = enc.GetString(bigFile);
int startIndex = text.IndexOf("Section");
int endIndex = text.IndexOf("Man");
string smallFile = text.Substring(startIndex, endIndex - startIndex);
File.WriteAllBytes("result.bin",enc.GetBytes(smallFile));
16 進表現の比較を示すビヨンド コンペアで、結果ファイルと元の小さなファイルを比較してみました。
バイト数は同じですが、そうでないものもあります。
たとえば、新しいファイルにはあります84
が、古いファイルにはEF BF BD
代わりにシーケンスがあります。
これらの違いの原因は何ですか? どこが間違っていますか?