将 Mac 地址和 IP 地址转换为特定大小的字节数组
Convert Mac Address and IP Address to byte araay of specific size
我正在尝试将 mac 地址转换为大小为 5 的字节数组,并将 IP 地址转换为大小为 4 的字节数组。现在我知道如何使用以下代码检索值:
'This returns a byte array of size 16
Dim ipArray As Byte() = Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(Function(a As IPAddress) Not a.IsIPv6LinkLocal AndAlso Not a.IsIPv6Multicast AndAlso Not a.IsIPv6SiteLocal).First().GetAddressBytes
'This returns a byte array of size 6
Dim macArray As Byte() = NetworkInterface.GetAllNetworkInterfaces(0).GetPhysicalAddress.GetAddressBytes
这没有给我想要的结果,也找不到好的解决方案。对于我创建的 IP,我发现它很脏:
Dim ip As String = "192.168.0.10"
Dim _ip() As String = ip.Split(CChar("."))
Object.IpAddress = New Byte() {Byte.Parse(_ip(0)), Byte.Parse(_ip(1)), Byte.Parse(_ip(2)), Byte.Parse(_ip(3))}
尝试:
Dim ipArray As Byte() = Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(Function(a As IPAddress) a.AddressFamily =2).First().GetAddressBytes
我正在尝试将 mac 地址转换为大小为 5 的字节数组,并将 IP 地址转换为大小为 4 的字节数组。现在我知道如何使用以下代码检索值:
'This returns a byte array of size 16
Dim ipArray As Byte() = Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(Function(a As IPAddress) Not a.IsIPv6LinkLocal AndAlso Not a.IsIPv6Multicast AndAlso Not a.IsIPv6SiteLocal).First().GetAddressBytes
'This returns a byte array of size 6
Dim macArray As Byte() = NetworkInterface.GetAllNetworkInterfaces(0).GetPhysicalAddress.GetAddressBytes
这没有给我想要的结果,也找不到好的解决方案。对于我创建的 IP,我发现它很脏:
Dim ip As String = "192.168.0.10"
Dim _ip() As String = ip.Split(CChar("."))
Object.IpAddress = New Byte() {Byte.Parse(_ip(0)), Byte.Parse(_ip(1)), Byte.Parse(_ip(2)), Byte.Parse(_ip(3))}
尝试:
Dim ipArray As Byte() = Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(Function(a As IPAddress) a.AddressFamily =2).First().GetAddressBytes