Как преобразовать строку, содержащую шестнадцатеричную пару, в байт? - PullRequest
3 голосов
/ 13 февраля 2011

У меня есть строка, содержащая шестнадцатеричное значение.Теперь мне нужно содержимое этой строки, содержащей шестнадцатеричное значение в качестве байтовой переменной.Как мне это сделать, не меняя шестнадцатеричное значение?

Ответы [ 3 ]

6 голосов
/ 13 февраля 2011

альтернатива опциям, опубликованным до сих пор:

byte b = Convert.ToByte(text, 16);

Обратите внимание, что это вернет 0, если text равно нулю;это может или не может быть результатом, который вы хотите.

2 голосов
/ 13 февраля 2011
String strHex = "ABCDEF";
Int32 nHex = Int32.Parse(strHex, NumberStyles.HexNumber);
Byte[] bHex = BitConverter.GetBytes(nHex);

Я думаю, это то, что вы ищете. Если нет, опубликуйте обновление с более четким определением того, что вы ищете.

1 голос
/ 13 февраля 2011

Если это только один байт в строке, вы можете сделать это:

        string s = "FF";
        byte b;


        if (byte.TryParse(s, NumberStyles.HexNumber, null, out b))
        {
            MessageBox.Show(b.ToString());  //255
        }
...