【问题标题】:Convert an Array of Bytes to IPAddress将字节数组转换为 IPAddress
【发布时间】:2011-06-12 00:05:33
【问题描述】:

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

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

【问题讨论】:

    标签: .net ip-address


    【解决方案1】:

    【讨论】:

    • 嗯...想知道我是怎么做到的。谢谢:)
    【解决方案2】:

    安德烈说什么

        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)
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-08
        • 2019-11-24
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 2019-12-10
        • 1970-01-01
        • 2015-06-12
        相关资源
        最近更新 更多