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字符串和数字互转
最新推荐文章于 2024-07-18 19:59:19 发布