【发布时间】:2011-06-12 00:05:33
【问题描述】:
.Net IPAddress 类的 GetAddressBytes 方法可用于将 IPAddress 转换为字节数组。
我的问题是我有这些字节数组,如何将它们转换回 IPAddress 对象或 IP 字符串? (拥有适用于 IPv4 和 IPv6 的解决方案很重要)。
【问题讨论】:
标签: .net ip-address
.Net IPAddress 类的 GetAddressBytes 方法可用于将 IPAddress 转换为字节数组。
我的问题是我有这些字节数组,如何将它们转换回 IPAddress 对象或 IP 字符串? (拥有适用于 IPv4 和 IPv6 的解决方案很重要)。
【问题讨论】:
标签: .net ip-address
【讨论】:
安德烈说什么
Dim ipv4Addr As Net.IPAddress = Net.IPAddress.Parse("224.0.0.1")
Dim ipv6Addr As Net.IPAddress = Net.IPAddress.Parse("ff00:0:0:0:0:0:e000:1")
Debug.WriteLine(ipv4Addr.ToString)
Debug.WriteLine(ipv6Addr.ToString)
Dim b() As Byte = ipv4Addr.GetAddressBytes
ipv4Addr = New Net.IPAddress(b)
b = ipv6Addr.GetAddressBytes
ipv6Addr = New Net.IPAddress(b)
Debug.WriteLine(ipv4Addr.ToString)
Debug.WriteLine(ipv6Addr.ToString)
【讨论】:
@dbasnett 在 C# 中的回答
IPAddress ipv4Addr = IPAddress.Parse("224.0.0.1");
IPAddress ipv6Addr = IPAddress.Parse("ff00:0:0:0:0:0:e000:1");
Console.WriteLine(ipv4Addr.ToString());
Console.WriteLine(ipv6Addr.ToString());
byte[] b = ipv4Addr.GetAddressBytes();
ipv4Addr = new IPAddress(b);
b = ipv6Addr.GetAddressBytes();
ipv6Addr = new IPAddress(b);
Console.WriteLine(ipv4Addr.ToString());
Console.WriteLine(ipv6Addr.ToString());
【讨论】: