我有一个表单上的文本框,其中一个人在下面显示的格式中输入一个字节数组。将字节值的字符串数组转换为字节数组
我的问题是如何将生成的字符串数组转换为相同值的字节数组?
所以这将被输入到文本框:
0x11, 0x01, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x53, 0x75, 0x6D, 0x6D, 0x61, 0x72, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
下面的代码然后将其分解,并将其转换为一个字节数组
string text = txtChecksumText.Text;
string[] parts = text.Split(new string[] { ", " }, StringSplitOptions.None);
byte[] bytes = new byte[parts.Length];
for (int i = 0; i < parts.Length; i++)
{
bytes[i] = Convert.ToByte(parts[i], 16); // this isn't working as expected
txtResponse.Text += Environment.NewLine + " " + i + " = " + parts[i] + " = " + bytes[i].ToString() ;
}
和响应,以显示它不是工作
0 = 0x11 = 17
1 = 0x01 = 1
2 = 0x49 = 73
3 = 0x4D = 77
4 = 0x41 = 65
5 = 0x47 = 71
6 = 0x45 = 69
7 = 0x31 = 49
8 = 0x00 = 0
9 = 0x00 = 0
10 = 0x00 = 0
11 = 0x00 = 0
12 = 0x00 = 0
13 = 0x00 = 0
14 = 0x00 = 0
15 = 0x00 = 0
16 = 0x00 = 0
17 = 0x00 = 0
18 = 0x00 = 0
19 = 0x00 = 0
20 = 0x00 = 0
21 = 0x00 = 0
22 = 0x00 = 0
23 = 0x01 = 1
24 = 0x53 = 83
25 = 0x75 = 117
26 = 0x6D = 109
27 = 0x6D = 109
28 = 0x61 = 97
29 = 0x72 = 114
30 = 0x79 = 121
31 = 0x00 = 0
32 = 0x00 = 0
33 = 0x00 = 0
34 = 0x00 = 0
35 = 0x00 = 0
36 = 0x00 = 0
37 = 0x00 = 0
38 = 0x00 = 0
39 = 0x00 = 0
40 = 0x00 = 0
41 = 0x00 = 0
42 = 0x00 = 0
43 = 0x00 = 0
44 = 0x00 = 0
45 = 0x00 = 0
46 = 0x00 = 0
47 = 0x00 = 0
48 = 0x00 = 0
49 = 0x00 = 0
50 = 0x00 = 0
51 = 0x00 = 0
52 = 0x00 = 0
53 = 0x00 = 0
54 = 0x00 = 0
55 = 0x00 = 0
只是要清楚,0x11应该回来作为一个字节11而不是字节1 7,与所有其他人一样我不想转换为十进制我试图将字符串字节转换为字节数组以创建校验和
对不起,但有什么不工作?据我所知,它似乎工作正常。 –
是否有问题,例如0x45被转换为69?这是因为0x45(45十六进制实际上是十进制69) –
0x11应该回来作为一个字节11不是字节17,与所有其他相同我不想转换为十进制我试图转换字符串的字节字节创建校验和的字节数组 – Neo