如何将string
之类的MAC地址00:18:4d:D0:9d:62
转换为C#中的466F7572746820466C6F6F72
等十六进制字符串?谢谢。
答案 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);