工具类如下
/**
* ipv4转换成Long
*
* @author dengtian on 2021/9/8
*/
public class IpLongUtils {
/**
* 把字符串ip转换成long
* @param ipStr ip
* @return
*/
public static long ip2Long(String ipStr){
String[] ip = ipStr.split("\\.");
return (Long.valueOf(ip[0]) << 24) + (Long.valueOf(ip[1]) << 16)
+ (Long.valueOf(ip[2]) << 8) + Long.valueOf(ip[3]);
}
/**
* 把IP的long值转换成字符串
* @param ipLong
* @return
*/
public static String long2Ip(long ipLong){
StringBuilder ip = new StringBuilder();
ip.append(ipLong >>> 24).append(".");
ip.append((ipLong >>> 16) & 0xFF).append(".");
ip.append((ipLong >>> 8) & 0xFF).append(".");
ip.append(ipLong & 0xFF);
return ip.toString();
}
}
MySQL提供了相应的函数来把字符串格式的IP转换成整数
select inet_aton('127.0.0.1') //存储为数字
select inet_ntoa(数字) //解析第一行存储的数字
仅供学习记录