public class Stat {
/**
* 截取IP地址
* @param str
* @param sign
* @return
*/
public static String[] getStringData(String str, String sign) {
String[] strData = null;
StringTokenizer st1 = new StringTokenizer(str, sign);strData = new String[st1.countTokens()];
int i = 0;
while (st1.hasMoreTokens()) {
strData[i] = st1.nextToken().trim();
i++;
}
return strData;
}
/**
* 转换IP地址
* @param ip
* @return
*/
public static long getipAddress(String ip){
String[] ipdate = getStringData(ip, ".");
long myip =
(long) Integer.parseInt(ipdate[0]) * 256 * 256 * 256
+ (long) Integer.parseInt(ipdate[1]) * 256 * 256
+ (long) Integer.parseInt(ipdate[2]) * 256
+ (long) Integer.parseInt(ipdate[3]);
return myip;
}public static void main(String[] args){String ip = "211.43.213.51";
System.out.println(getipAddress(ip));
}
}http://www.easydone.cn/014/200604112050325573.htm
/**
* 截取IP地址
* @param str
* @param sign
* @return
*/
public static String[] getStringData(String str, String sign) {
String[] strData = null;
StringTokenizer st1 = new StringTokenizer(str, sign);strData = new String[st1.countTokens()];
int i = 0;
while (st1.hasMoreTokens()) {
strData[i] = st1.nextToken().trim();
i++;
}
return strData;
}
/**
* 转换IP地址
* @param ip
* @return
*/
public static long getipAddress(String ip){
String[] ipdate = getStringData(ip, ".");
long myip =
(long) Integer.parseInt(ipdate[0]) * 256 * 256 * 256
+ (long) Integer.parseInt(ipdate[1]) * 256 * 256
+ (long) Integer.parseInt(ipdate[2]) * 256
+ (long) Integer.parseInt(ipdate[3]);
return myip;
}public static void main(String[] args){String ip = "211.43.213.51";
System.out.println(getipAddress(ip));
}
}http://www.easydone.cn/014/200604112050325573.htm
----> 7F:00:00:01
----> 0100007F (Hex)
----> 16777343 (Dec)
echo long2ip(3659421183);//218.30.85.255表示在你的ip库中“陕西省西安市”的ip范围为218.30.76.0 - 218.30.85.255你可将待查的ip用ip2long转换成数值:$n = ip2long('218.30.80.16');
然后在ip库中查询,条件为:起始ip<=$n and $n<=终止ip
IP1:3659418624
IP2:3659421183
那个是ip的绝对格式,有一定的换算公司,8过忘记了