比如 jpg 的文件头是 ffd8ff,我能用 binaryReader 读到。
问题是如何回写,或者修改,试着创建一个新文件再通过 binaryWriter 写进去,用 UE 打开不是十六进制的,而是普通的把字符串写进去了= =
有人知道如何处理么
问题是如何回写,或者修改,试着创建一个新文件再通过 binaryWriter 写进去,用 UE 打开不是十六进制的,而是普通的把字符串写进去了= =
有人知道如何处理么

1 congeec Oct 31, 2017 via iPhone 你需要一个 hex 编辑器。比如 HexFiend。vim 也能干这事儿 |
2 nannanziyu Nov 1, 2017 |
3 Famio OP |
4 nannanziyu Nov 1, 2017 @Famio 都说了 binaryWriter 有 Encoding 了,你为啥非要把着 binaryWriter 不放呢 static void Main(string[] args) { var buff = new byte[1024]; using (var fsReader = File.OpenRead(@"d:\1.png")) { using (var fsWriter = File.OpenWrite(@"d:\2.png")) { var readLength = fsReader.Read(buff, 0, buff.Length); while (readLength>0) { fsWriter.Write(buff, 0, readLength); readLength = fsReader.Read(buff, 0, buff.Length); } } } } |
5 LJ2010 Nov 1, 2017 既然都能读到对应 byte 了,那么把对应文件头数据直接修改不就可以了吗? 类似 byte[0]=0xf;//直接修改为对应文件类型字节 |
6 Famio OP @nannanziyu 感谢感谢! 后来我搞定了,我先把 hex 转成 byte[],然后再用 BinaryWriter 写进去了,终于搞定,谢谢! |