求助c#16进制写入文件问题
本来要对一个2进制文件进行改写。计划采用如下方法。
byte[] buffer =new byte[139]
FileStream.Seek(offset, SeekOrigin.Begin); //文件流定位
FileStream.Write(buffer, 0, 140); //将buffer数组 内数据写入文件
现在头痛的是 buffer赋值的问题。。
这个buffer 为16进制的 类似下面这样 共有100多个字节。
2E00310032003500252003100380036002F0073006500620075006B006100
请问有什么好办法能解决这个问题。
或是其它方法 重写文件!
感谢赐教,不胜感激!! --------------------编程问答-------------------- 问题不明确,你是要写入文本内容,类似FF0E12FE这样的? --------------------编程问答--------------------
System.IO.StreamWriter sw=new System.IO.StreamWriter("d:\\1.txt",false);--------------------编程问答--------------------
for (int i = 0; i < buf.Length; i++)
{
sw.Write( buf[i].ToString("X2"));
}
sw.Close();
sw.Dispose();
不是写入文本 我要写入16进制文件也就是可执行文件
这个buffer 为16进制的 类似下面这样 共有100多个字节。
2E00310032003500250003100380036002F0073006500620075006B006100
我想实现的效果是
buffer[0]=0x2E
buffer[1]=0x00
buffer[2]=0x31
buffer[3]=0x00
buffer[4]=0x32
buffer[5]=0x00
以此类推
再举个例子 有一个可执行文件 从某个offset 开始的16进制如下
22003f0036003700282003200310036002F0073006400620075006A006F00
然后我用新的16进制值改写文件 就假设是下面的16进制值改写
2E00310032003500252003100380036002F0073006500620075006B006100
有100多个字节 一个一个赋值 累死了!
--------------------编程问答-------------------- 我晕,你还是没弄明白byte是什么东西,什么十六进制,二进制,十进制
你先百度byte int char uint uchar是什么意思,内存分布是什么样子就不会有这个问题了。
没有所谓的十六进制文件
补充:.NET技术 , C#