ファイルから特定のバイトを別の特定のバイトに置き換えようとしていますが、バイナリライタが多すぎるバイトを置き換えるのに問題があります。私のコードで何が間違っていますか?ファイル内のバイトを置換する
using (BinaryWriter bw =
new BinaryWriter(File.Open(fileName,
FileMode.Open)))
{
bw.BaseStream.Position = 0x3;
bw.Write(0x50);
}
これは文字「P」の文字「E」(16進の0x45)を変更することになって、その代わりにそのバイトと3バイト以上を変更しました。 「45 30 31 FF」から「50 00 00 00」に変更される。 "30 31 FF"は "45"を "50"に変更するだけです。
この記事で短い表記について確認したい場合があります。https://stackoverflow.com/questions/5820721/c-sharp-short-long-int-literal-format#5820772 – Stefan