zoukankan      html  css  js  c++  java
  • IP地址和数字之间转化的算法

    最近下载了一下 纯真的ip数据库导入到MySQL中,用下面的算法自己做了一个ip查询工具。

    public static uint IPToInt(string ipAddress)
        
    {
            
    string disjunctiveStr = ".,: ";
            
    char[] delimiter = disjunctiveStr.ToCharArray();
            
    string[] startIP = null;
            
    for (int i = 1; i <= 5; i++)
            
    {
                startIP 
    = ipAddress.Split(delimiter, i);
            }

            
    string a1 = startIP[0].ToString();
            
    string a2 = startIP[1].ToString();
            
    string a3 = startIP[2].ToString();
            
    string a4 = startIP[3].ToString();
            
    uint U1 = uint.Parse(a1);
            
    uint U2 = uint.Parse(a2);
            
    uint U3 = uint.Parse(a3);
            
    uint U4 = uint.Parse(a4);

            
    uint U = U1 << 24;
            U 
    += U2 << 16;
            U 
    += U3 << 8;
            U 
    += U4;
            
    return U;
        }


        
    public static string IntToIP(uint ipAddress)
        
    {
            
    long ui1 = ipAddress & 0xFF000000;
            ui1 
    = ui1 >> 24;
            
    long ui2 = ipAddress & 0x00FF0000;
            ui2 
    = ui2 >> 16;
            
    long ui3 = ipAddress & 0x0000FF00;
            ui3 
    = ui3 >> 8;
            
    long ui4 = ipAddress & 0x000000FF;
            
    string IPstr = "";
            IPstr 
    = System.Convert.ToString(ui1) + "." + System.Convert.ToString(ui2) + "." + System.Convert.ToString(ui3) + "." + System.Convert.ToString(ui4);
            
    return IPstr;
        }

    写下从学校走出来后,在北京实习的历程。

    努力 加油!

  • 相关阅读:
    java mybatis 新增记录 与 insertSelective 保存问题
    01 开发环境搭建
    2021年:系列文章总结
    在win10上安装MTK驱动(附驱动下载链接)
    Gerrit 大量代码提交流程优化
    mysqldump的使用
    配置 Gerrit 迁移
    解决:编译安卓源码时 JDK 报错 error='Not enough space' (errno=12)
    修改Git Commit提交记录的用户名Name和邮箱Email
    Android 各层架构
  • 原文地址:https://www.cnblogs.com/tonygao/p/1298989.html
Copyright © 2011-2022 走看看