最近下载了一下 纯真的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;
    }