字符串iPv4转换成Long数值

工具类如下

/**
 * 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(数字)  //解析第一行存储的数字

仅供学习记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值