C#如何把十六进制字符串转换为十进制数值,需要进行计算,或者直接让十六进制数值进行计算
例如,字符串是3A,怎样让它变为十进制的58,或者让它直接与十六进制的数值进行计算呢? C# 类型转换 十六进制 --------------------编程问答-------------------- string str="3A";byte num=Convert.ToByte(str,16);
--------------------编程问答--------------------
正解 --------------------编程问答--------------------
int result = int.Parse("3A", System.Globalization.NumberStyles.AllowHexSpecifier);--------------------编程问答-------------------- 现成代码,可以转一串哦[code=csharp]public static byte[] HexStringToByteArray(string s)
Console.WriteLine(result);//输出58
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
return buffer;
}
public static string ByteArrayToHexString(byte[] data)
{
StringBuilder sb = new StringBuilder(data.Length * 3);
foreach (byte b in data)
sb.Append(Convert.ToString(b, 16).PadLeft(2, '0'));
return sb.ToString().ToUpper();
}
public static string ByteArrayToHexString2(byte[] data)
{
string s = BitConverter.ToString(data).Replace("-", "");
return s;
}[code] --------------------编程问答--------------------
public static byte[] HexStringToByteArray(string s)--------------------编程问答--------------------
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
return buffer;
}
public static string ByteArrayToHexString(byte[] data)
{
StringBuilder sb = new StringBuilder(data.Length * 3);
foreach (byte b in data)
sb.Append(Convert.ToString(b, 16).PadLeft(2, '0'));
return sb.ToString().ToUpper();
}
public static string ByteArrayToHexString2(byte[] data)
{
string s = BitConverter.ToString(data).Replace("-", "");
return s;
}
int a = int.Parse("3A", NumberStyles.HexNumber);
这样就可以转成10进制的了 --------------------编程问答-------------------- 如果是一串十六进制的数字该怎么转化?
--------------------编程问答-------------------- 看看这个例子:http://code.msdn.microsoft.com/CSHexStringByteArrayConvert-a80e955d --------------------编程问答--------------------
+1 --------------------编程问答--------------------
string s = ""; //一串字符
string[] a = s.ToString().Split(' ');
for(int i = 0; i < a.Length; i ++)
{
int b = Convert.ToInt32(a[i],16);
}
补充:.NET技术 , C#