ipv6怎么转换成数字(bigInteger) ipv6 to BigInteger

时间:2016年08月11日1:57:58 星期四  Ken

1.为什么要转换呢?

   因为需要保存在数据库中,方便查询

2.怎么转换

   记得引用这两个dll 

  using System.Numerics;
  using System.Net;


   以下是 C#code

             

          IPAddress ip = IPAddress.Parse("2400:A480:aaaa:400:a1:b2:c3:d4");
            List<Byte> ipFormat = ip.GetAddressBytes().ToList();
            ipFormat.Reverse();
            ipFormat.Add(0);
            BigInteger ipAsInt = new BigInteger(ipFormat.ToArray());
            Console.WriteLine(ipAsInt);
            Console.ReadLine();


输出结果:47855544357454760072796191850190012628
另外附上 pv6在线转换为int的网址 http://www.ipaddressguide.com/ipv6-to-decimal


Ps:感谢版主xuzuning
参考网址:http://stackoverflow.com/questions/17030926/ipaddress-hosttonetworkorder-with-ipv6


-----------------------------------------
顺便附上ipv4转换为数字的方法
long ip = getip("192.168.169.10");
 public static long getip(string strip)
        {




            string[] items = strip.Split('.');
            return long.Parse(items[0]) * 16777216 +
                     long.Parse(items[1]) * 65536 +
                     long.Parse(items[2]) * 256 +
                     long.Parse(items[3]);
        }





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值