gpt4 book ai didi

c# - 如何将 MAC 地址从字符串转换为无符号整数

转载 作者:行者123 更新时间:2023-12-02 15:00:02 24 4
gpt4 key购买 nike

MAC 地址 ( Wikipedia article ) 通常采用 6 个十六进制数字的格式,用分号分隔,例如 14:10:9F:D4:04:1A

在 C# 中,它可以作为 string 传递,而一些库将这些作为 UInt64ulong 进行处理。

问题

string、十六进制表示、ulong 之间有什么关系,我如何从一个转到另一个?

最佳答案

MAC 地址 HEX

如正确描述here :

The MAC address is very nearly a hex string. In fact, if you remove the ':' characters, you have a hex string.

14:10:9F:D4:04:1A字面意思是0x14109FD4041A,只是更容易阅读。


stringUInt64 并返回

MAC 地址由 6 个字节,48 位组成,适合 UInt64 并有 2 个字节备用。排除 MSB 与 LSB 排序的复杂性,您可以使用以下 2 种方法:

格式化成字符串

using System;
using System.Linq;

public static string MAC802DOT3(ulong macAddress)
{
return string.Join(":",
BitConverter.GetBytes(macAddress).Reverse()
.Select(b => b.ToString("X2"))).Substring(6);
}
// usage: var s = MAC802DOT3(0x14109fd4041a);
// var s = MAC802DOT3(22061633504282);
// s becomes "14:10:9F:D4:04:1A"

转换为整数

public static ulong MAC802DOT3(string macAddress)
{
string hex = macAddress.Replace(":", "");
return Convert.ToUInt64(hex, 16);
}
// usage: var m = MAC802DOT3("14:10:9F:D4:04:1A");
// m becomes 22061633504282 (0x14109fd4041a)

关于c# - 如何将 MAC 地址从字符串转换为无符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50519301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com