博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将ip转为整数以及整数转为ip的java实现
阅读量:6690 次
发布时间:2019-06-25

本文共 1077 字,大约阅读时间需要 3 分钟。

hot3.png

一个ip地址用字符串保存,长度为(7-15)也就是(14-30bytes),而用int保存只需要4bytes,所以下面的代码:

/**	 * ip字符串转整数	 * ip是.分割的整数字符串,按照r进制转十进制的规律,按权相加求和,这里的权是256.	 * @param ip	 * @return	 */		public int ip2Int(String ip){		if(null == ip || "".equals(ip.trim()) || !checkIP(ip)) return 0;		String[] ipStrs = ip.split("\\.");//分割ip		int result = 0;		for(int i = 0;i < 4;i ++){			Integer ipSubInteger = Integer.parseInt(ipStrs[i]);			if(ipSubInteger > 255) {//正则验证不能为负数				result = 0;				break;			}			result += (ipSubInteger << (24 - i * 8));		}		return result;	}		/*正则验证ip*/	private boolean checkIP(String ip){		return ip.matches("\\d{1,3}(\\.\\d{1,3}){3}");	}		/**	 * 整数转ip	 * @param ip	 * @return	 */	public String int2Ip(int ip){		StringBuilder builder = new StringBuilder(String.valueOf(ip >>> 24));		builder.append(".");		builder.append(String.valueOf((ip & 0X00FFFFFF) >>> 16));		builder.append(".");		builder.append(String.valueOf((ip & 0X0000FFFF) >>> 8));		builder.append(".");		builder.append(String.valueOf(ip & 0X000000FF));		return builder.toString();	}

 

转载于:https://my.oschina.net/liuchangng/blog/701241

你可能感兴趣的文章
adb_安装软件
查看>>
廖雪峰官网学习js 字符串
查看>>
phpcms 如何获取文章
查看>>
C# 如何防止重放攻击(转载)
查看>>
C#匿名类型
查看>>
kubernetes 身份与权限认证 (ServiceAccount && RBAC)
查看>>
Apache Nutch 1.3 学习笔记二
查看>>
ActiveMQ
查看>>
Nginx服务器部署 负载均衡 反向代理
查看>>
C++学习笔记:指向函数的指针
查看>>
Child Action
查看>>
# 2017-2018-1 20155319 实验五 《通讯协议设计》
查看>>
通用后台管理系统(1)-数据库设计
查看>>
做自适应网页
查看>>
ACM的奇计淫巧_bitset优化
查看>>
centos 配置防火墙操作
查看>>
比亚迪速锐F3专用夏季座套 夏天坐垫 四季坐套
查看>>
Java web 实现 之 Filter分析ip统计网站的访问次数
查看>>
bzoj1303
查看>>
2013-2-1 pdf中无法用金山词霸取词问题
查看>>