public static long ip2Long(String ipStr){
if(ipStr == null || ipStr.length() == 0){
return 0;
}
int position1 = ipStr.indexOf(".");
int position2 = ipStr.indexOf(".",position1+1);
int position3 = ipStr.indexOf(".",position2+1);
long ip1 = Long.parseLong(ipStr.substring(0,position1));
long ip2 = Long.parseLong(ipStr.substring(position1+1,position2));
long ip3 = Long.parseLong(ipStr.substring(position2+1,position3));
long ip4 = Long.parseLong(ipStr.substring(position3+1));
return (ip1 << 24) + (ip2<<16) +(ip3<<8)+ip4;
}
public static String long2Ip(long ipLong){
StringBuilder ip = new StringBuilder();
ip.append(String.valueOf((ipLong >>> 24))).append(".");
ip.append(String.valueOf(((ipLong & 0x00FFFFFF) >>> 16))).append(".");
ip.append(String.valueOf(((ipLong & 0x0000FFFF) >>> 8))).append(".");
ip.append(String.valueOf(((ipLong & 0x000000FF))));
return ip.toString();
}
public static void main(String[] args) {
String ipStr = "192.168.1.1";
long ipLong = ip2Long(ipStr);
System.out.println(ipLong);
String ipStr2 = long2Ip(ipLong);
System.out.println(ipStr2);
}
IP字符串和数字互转
最新推荐文章于 2023-12-01 11:55:46 发布

5828

被折叠的 条评论
为什么被折叠?



