gpt4 book ai didi

c# - 替换文件中的字节

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:42 32 4
gpt4 key购买 nike

我正在尝试用其他一些特定字节替换文件中的某些字节,但我的二进制编写器替换了太多字节时出现问题。我的代码有什么问题?

using (BinaryWriter bw = 
new BinaryWriter(File.Open(fileName,
FileMode.Open)))
{
bw.BaseStream.Position = 0x3;
bw.Write(0x50);
}

本应将字母“E”(十六进制 0x45)更改为字母“P”,但改为更改该字节和另外 3 个字节;从“45 30 31 FF”到“50 00 00 00”。我想保留“30 31 FF”,只将“45”更改为“50”。

最佳答案

基本上您不想或不需要为此使用 BinaryWriter。您正在调用 BinaryWriter.Write(int)其行为与记录的完全一致。

只需使用 FileStream 写入单个字节:

using (var stream = File.Open(fileName))
{
stream.Position = 3;
stream.WriteByte(0x50);
}

更简单,更易读(显然只写一个字节),做你想做的事。

关于c# - 替换文件中的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44904094/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com