C#字节字符串到字节数组

jM2*_*.me 9 c# arrays byte

我有以下字符串

17 80 41 00 01 00 01 00 08 00 44 61 72 65 46 61 74 65 01 00 00 00 01 00 03 00 01 00 09 00 43 68 61 6E 6E 65 6C 2D 31 00 00 02 00 09 00 43 68 61 6E 6E 65 6C 2D 32 65 00 03 00 09 00 43 68 61 6E 6E 65 6C 2D 33 65 00

将它作为用户输入并使其成为字节数组的最佳方法是什么?

Ani*_*Ani 13

尝试:

string text = ...
byte[] bytes = text.Split()
                   .Select(t => byte.Parse(t, NumberStyles.AllowHexSpecifier))
                   .ToArray();
Run Code Online (Sandbox Code Playgroud)

如果你只想分割空格字符(而不是任何空格)使用Split (' ').


joe*_*ish 8

如果用户正在将其输入命令行,请执行以下操作:

        string input = GetInput(); // this is where you get the input
        string[] numbs = input.Split(' ');
        byte[] array = new byte[numbs.Length];
        int i = 0;

        foreach (var numb in numbs)
        {
            array[i++] = byte.Parse(numb, NumberStyles.HexNumber);
        }
Run Code Online (Sandbox Code Playgroud)