我有一个包含十六进制值的字符串我想知道如何使用c#
将该字符串转换为十六进制答案 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;
}