【发布时间】:2018-03-08 01:34:13
【问题描述】:
我遇到的问题是:
我正在使用二进制读取器读取一个字节数组来构造一个用于编辑文件的 windows gui,例如我正在读取以下字节数组: 123cbb75
//read the first 4 bytes from 0x36A2
byte[] buffer = br.ReadBytes(4);
Array.Reverse(buffer);
Encoding enc8 = Encoding.UTF8;
data = enc8.GetString(buffer);
data = (BitConverter.ToInt32(buffer, 0).ToString("X8"));
textBox1.Text = data; //reads the full string of hex
//values 123CBB75-- first 4 bytes
textBox2.Text = data.Substring(0, 2);//reads 12
textBox3.Text = data.Substring(2, 1);//reads 3
textBox4.Text = data.Substring(3 ,1);//reads C
textBox5.Text = data.Substring(4, 1);//reads B
textBox6.Text = data.Substring(5, 1);//reads B
textBox7.Text = data.Substring(6, 1);//reads 7
textBox8.Text = data.Substring(7, 1);//reads 5
br.Dispose();
我可以轻松编辑第一个字节,因为它有两个整数表示
使用Convert.ToByte(从文本框中编辑字符串并将其写回二进制文件)
问题是:如何编辑文本框中的奇异值,以便它可以使用二进制写入器正确写回该值,例如文本框 3 或 4。我不能使用 Convert.ToByte,因为它是一个奇异的数字或字母数字.
bw.Write(Convert.ToByte(textBox3.Text, 16)); //output在将数据写回文件时不正确,如果我想将3更改为5。
【问题讨论】:
-
你想做什么?
标签: c# binaryreader binarywriter