Hex для байта [] в C # 2.0 - PullRequest
0 голосов
/ 31 мая 2011

Предположим, есть строка hexString = "0x12" или "0x45" и т. Д. Как преобразовать строку в другой байт [], как показано ниже. Спасибо.

byte[] myByte = new byte[2];
myByte[0] = 0x1;
myByte[1] = 0x2;

или

myByte[0] = 0x4;
myByte[1] = 0x5;

Когда я пытаюсь объединить подстроку, как показано ниже,

myByte[0] = '0x' + '4'; // Show compile error. It doesn't work.

Я не знаю, как это исправить. Благодарю. и т.д.

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Ищете что-то подобное?

string hex = "0123456789abcdef";

string input = "0x45";
Debug.Assert(Regex.Match(input, "^0x[0-9a-f]{2}$").Success);

byte[] result = new byte[2];
result[0] = (byte)hex.IndexOf(input[2]);
result[1] = (byte)hex.IndexOf(input[3]);

// result[0] == 0x04
// result[1] == 0x05
1 голос
/ 31 мая 2011

Вы пытались сначала найти его?
Попробуйте это: Как преобразовать гекс в байтовый массив?

...