That's going to depend on what your string is exactly - and there are two possibilities
Here's one:
string inp = @"\x00\x00\x00\x00\x00\x00\x00\x00";
And here's the other:
string inp = "\x00\x00\x00\x00\x00\x00\x00\x00";
How you need to handle them is different.
The first is fairly trivial:
string inp = @"\x00\x00\x00\x00\x00\x00\x00\x00";
string[] values = inp.Split(new string[] { "\\x" }, StringSplitOptions.RemoveEmptyEntries);
char[] data = new char[values.Length];
int i = 0;
foreach (string s in values)
{
data[i++] = (char)Convert.ToByte(s, 16);
}
The second is even more trivial: a string is a char array, effectively in that you can access individual characters via an index, but:
string inp = "\x00\x00\x00\x00\x00\x00\x00\x00";
char[] data = inp.ToArray();