将字节数组转换为IP地址

问题描述:

.Net IPAddress类GetAddressBytes方法可用于将IP地址转换为字节数组。将字节数组转换为IP地址

我的问题是我有这些字节数组,我如何将它们转换回IPAddress对象或IP字符串? (对于IPv4和IPv6均有解决方案,这很重要)。

+0

嗯......不知道如何MEED说。谢谢 :) – 2011-01-21 06:47:43

说什么安德烈

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());