如何将 MAC 地址转换为C#string
中00:18:4d:D0:9d:62
的十六进制字符串?466F7572746820466C6F6F72
谢谢。
问问题
19855 次
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 回答