package com.dounine.corgi.utils;
/**
* Created by huanghuanlai on 16/8/14.
*/
public class IpUtils {
public static long ipToLong(String sip) {
long[] ip = new long[4];
int[] pos = new int[3];
pos[0] = sip.indexOf(".");
ip[0] = Long.parseLong(sip.substring(0, pos[0]));
for (int i = 1; i < 3; i++) {
pos[i] = sip.indexOf(".", pos[i - 1] + 1);
ip[i] = Long.parseLong(sip.substring(pos[i - 1] + 1, pos[i]));
if (i == 2) {
ip[i + 1] = Long.parseLong(sip.substring(pos[i] + 1));
}
}
return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
}
public static String longToIp(long longIp) {
StringBuffer sb = new StringBuffer();
sb.append(String.valueOf(longIp >>> 24));
sb.append(".");
sb.append(String.valueOf((longIp & 0x00FFFFFF) >>> 16));
sb.append(".");
sb.append(String.valueOf((longIp&0x0000FFFF)>>>8));
sb.append(".");
sb.append(String.valueOf(longIp&0x000000FF));
return sb.toString();
}
public static void main(String args[]) {
System.out.println(ipToLong("192.168.0.1"));
System.out.println(ipToLong("192.168.0.11"));
System.out.println(ipToLong("192.168.0.111"));
System.out.println(longToIp(3232235631l));
}
}