如何将字符串MAC地址转换为十六进制

时间:2013-01-16 15:30:11

标签: c# .net

如何将string之类的MAC地址00:18:4d:D0:9d:62转换为C#中的466F7572746820466C6F6F72等十六进制字符串?谢谢。

2 个答案:

答案 0 :(得分:7)

MAC地址非常接近十六进制字符串。实际上,如果删除':'字符,则会有一个十六进制字符串。

 string hex = macAddress.Replace(":", "");

原始问题

  

00:18:4D:D0:9D:62

只是

  

00184dD09d62

与...(或只要)

不一样
  

466F7572746820466C6F6F72

我对该问题的原始解读(可能不正确)是OP希望 base 10 等效于十六进制数。如果需要任何其他表示,可以使用string.Replace删除冒号,然后使用Convert.ToUInt64

解析数字
string hex = macAddress.Replace(":", "");
uint64 macAsNumber = Convert.ToUInt64(hex, 16);

然后可以将数字转换为任何所需格式的字符串。

答案 1 :(得分:0)

问题绝对不清楚,无论如何......你可以这样做,但结果将意味着什么:

Int64 value = Int64.Parse(address.Replace(":", ""), NumberStyles.HexNumber);

否则您可以按如下方式返回正确的地址值:

String[] splits = address.Split(new Char[] { ':' });

address = String.Empty;

foreach (String split in splits)
    address += Byte.Parse(split, NumberStyles.HexNumber);