运行结果:
192.168.0.1=3232235521
3232235521=192.168.0.1
0.0.0.0=0
1.2.3.4=16909060
255.255.255.255=4294967295
调用方法:
public static void main(String[] args) {
System.out.println("192.168.0.1=" + ip2Long("192.168.0.1"));
System.out.println("3232235521=" + long2Ip(3232235521L));
System.out.println("0.0.0.0=" + ip2Long("0.0.0.0"));
System.out.println("1.2.3.4=" + ip2Long("1.2.3.4"));
System.out.println("255.255.255.255=" + ip2Long("255.255.255.255"));
}
工具类:(复制后可以直接使用)
package util;
/**
* 转换工具类
*
* @author ALI
*
*/
public class ConversionUtils {
public static void main(String[] args) {
System.out.println("192.168.0.1=" + ip2Long("192.168.0.1"));
System.out.println("3232235521=" + long2Ip(3232235521L));
System.out.println("0.0.0.0=" + ip2Long("0.0.0.0"));
System.out.println("1.2.3.4=" + ip2Long("1.2.3.4"));
System.out.println("255.255.255.255=" + ip2Long("255.255.255.255"));
}
/**
* ip转数字
*
* @param str
* @return
*/
public static long ip2Long(String str) {
String[] s = str.split("\\.");
return (Long.parseLong(s[0]) << 24) | (Long.parseLong(s[1]) << 16) | (Long.parseLong(s[2]) << 8)
| (Long.parseLong(s[3]));
}
/**
* 数字转ip
*
* @param n
* @return
*/
public static String long2Ip(long n) {
return (n >> 24 & 0xFF) + "." + (n >> 16 & 0xFF) + "." + (n >> 8 & 0xFF) + "." + (n & 0xFF);
}
}
JavaScript的方法:
/*IP转十进制*/
function ip2Long(str) {
var s = str.split(".");
return parseInt(s[0] * 256 * 256 * 256) + parseInt(s[1] * 256 * 256) + parseInt(s[2] * 256) + parseInt(s[3]);
}
/*十进制转IP*/
function long2Ip(n) {
return (n >> 24 & 0xFF) + "." + (n >> 16 & 0xFF) + "." + (n >> 8 & 0xFF) + "." + (n & 0xFF);
}