如何在c#中从字符串转换十六进制

时间:2010-08-04 05:02:15

标签: c#-4.0

我有一个包含十六进制值的字符串我想知道如何使用c#

将该字符串转换为十六进制

2 个答案:

答案 0 :(得分:2)

根据你需要它的效率,有几种方法可以做到这一点。

Convert.ToInt32(value, fromBase) //即Convert.ToInt32(“FF”,16)== 255

这是转换为Int32的简便方法。您可以使用Byte,Int16,Int64等。如果您需要转换为字节数组,您可以一次解析字符串2个字符,将它们解析为字节。

如果您需要在快速循环或大字节数组中执行此操作,我认为this class可能是在纯托管代码中执行此操作的最快方法。我总是乐于接受如何改进它的建议。

答案 1 :(得分:0)

给出以下格式

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;
}