C# 将具有十六进制值的字符串转换为字节数组

C# 将具有十六进制值的字符串转换为字节数组,c#,string,bytearray,C#,String,Bytearray,我有这个: string x = "0X65 00 0X94 0X81 00 0X40 0X7E 00 0XA0 0XF0 00 0X80 0X2C 00 0XA9 0XA"; 我希望: byte[] x = {0X65, 00, 0X94, 0X81, 00, 0X40, 0X7E, 00, 0XA0, 0XF0, 00, 0X80, 0X2C, 00, 0XA9, 0XA}; 当我尝试类似于: string[] t = x.split(' '); byte[] byte = new by

我有这个:

string x = "0X65 00 0X94 0X81 00 0X40 0X7E 00 0XA0 0XF0 00 0X80 0X2C 00 0XA9 0XA";
我希望:

byte[] x = {0X65, 00, 0X94, 0X81, 00, 0X40, 0X7E, 00, 0XA0, 0XF0, 00, 0X80, 0X2C, 00, 0XA9, 0XA};
当我尝试类似于:

string[] t = x.split(' ');
byte[] byte = new byte[t.Legnth];
for (int i = 0; i < byte.Length; i++)
            {
                byte[i] = Convert.ToByte(t[i]);
            }
string[]t=x.split(“”);
字节[]字节=新字节[t.Legnth];
for(int i=0;i
字节被编码为其他值。我不熟悉字节格式,我只是尝试直接从一个由空格分隔的字节字符串转到数组中。

来自Microsoft网站:

将指定基中数字的字符串表示形式转换为 等效的8位无符号整数

在这种情况下,您需要告诉ToByte方法从转换字符串

byte[] t = x.Split().Select(s => Convert.ToByte(s, 16)).ToArray();