-1

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

4

2 回答 2

9

MAC 地址几乎是一个十六进制字符串。事实上,如果你去掉 ':' 字符,你就有了一个十六进制字符串。

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

到原来的问题

00:18:4d:D0:9d:62

简直就是

00184dD09d62

和不一样(或长于)

466F7572746820466C6F6F72

我对这个问题的最初解读(这可能是不正确的)是 OP 想要十六进制数的基数 10 。如果需要任何其他表示,可以使用string.Replace删除冒号,然后使用Convert.ToUInt64解析数字

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

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

于 2013-01-16T15:33:29.360 回答
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);
于 2013-01-16T15:41:57.813 回答