Как преобразовать шестнадцатеричный из строки в C # - PullRequest
1 голос
/ 04 августа 2010

У меня есть строка, которая содержит шестнадцатеричные значения, я хочу знать, как преобразовать эту строку в шестнадцатеричное с использованием c #

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Есть несколько способов сделать это в зависимости от того, насколько эффективно вам это нужно.

Convert.ToInt32 (value, fromBase) // т.е. Convert.ToInt32 ("FF",16) == 255

Это простой способ конвертировать в Int32.Вы можете использовать Byte, Int16, Int64 и т. Д. Если вам нужно преобразовать в массив байтов, вы можете прожевать по строке 2 символа за раз, разбирая их в байты.

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

0 голосов
/ 04 августа 2010

С учетом следующих форматов

10A
0x10A
0X10A

Выполните следующее.

public static int ParseHexadecimalInteger(string v)
{
    var r = 0;
    if (!string.IsNullOrEmpty(v))
    {
        var s = v.ToLower().Replace("0x", "");
        var c = CultureInfo.CurrentCulture;
        int.TryParse(s, NumberStyles.HexNumber, c, out r);
    }
    return r;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...