ip转成整数,java ip转数字
?6?一把互联网协议(互联网协议)地址转化为字节数组
?6?一通过左移位( )、与( )、或()这些操作转为(同国际组织)国际组织
整数—— IP:
?6?一将整数值进行右移位操作( ),右移24位,再进行与操作符()0xFF,得到的数字即为第一段知识产权。
?6?一将整数值进行右移位操作( ),右移16位,再进行与操作符()0xFF,得到的数字即为第二段知识产权。
?6?一将整数值进行右移位操作( ),右移8位,再进行与操作符()0xFF,得到的数字即为第三段知识产权。
?6?一将整数值进行与操作符()0xFF,得到的数字即为第四段知识产权。
二、java代码示例
IPv4Util.java
包迈克尔尤蒂斯
返回InetAddress.getByName(ipAddr).get address();
} catch(异常e) {
抛出新的IllegalArgumentException(IP地址是无效的IP’);
}
}
public static byte[]ipToBytesByReg(String IP addr){
字节[] ret=新字节[4];
尝试{
string[]ipar=IP地址。拆分( \ \ . ));
ret[0]=(字节)(整数。parse int(ipar[0])0x ff);
ret[1]=(字节)(整数。parse int(ipar[1])0x ff);
ret[2]=(字节)(整数。parse int(ipar[2])0x ff);
ret[3]=(字节)(整数。parse int(ipar[3])0x ff);
返回浸水使柔软
} catch(异常e) {
抛出新的IllegalArgumentException(IP地址是无效的IP’);
}
公共静态字符串bytesToIp(byte[] bytes) {
返回新的StringBuffer().追加(字节[0]0xFF).追加(.).追加(
字节[1]0xFF).追加(.).追加(字节[2]0xFF)。追加(.).追加(字节[3]0xFF).toString();
}
public static int bytesToInt(byte[]bytes){
int addr=bytes[3]0x ff;
addr =((bytes[2]8)0x ff 00);
addr =((bytes[1]16)0x ff 0000);
addr =((bytes[0]24)0x ff 000000);
返回地址;
}
返回bytesToInt(ipToBytesByInet(IP addr));
} catch(异常e) {
抛出新的IllegalArgumentException(IP地址是无效的IP’);
}
}
public static byte[]int to bytes(int ipInt){
字节[] ipAddr=新字节[INADDRSZ];
ipAddr[0]=(字节)((ipInt 24)0x ff);
ipAddr[1]=(字节)((ipInt 16)0x ff);
ipAddr[2]=(字节)((ipInt 8)0x ff);
ipAddr[3]=(字节)(ipInt0x ff);
返回元组
}
公共静态字符串intToIp(int ipInt) {
返回新的StringBuilder().追加((ipInt 24)0x ff)).追加(.)。追加((ipInt 16)0xff).追加(.).追加(
(ipInt 8)0xff).追加(.).追加((ipInt0xff))。toString();
}
如果(ipar。长度!=2) {
抛出新的IllegalArgumentException(无效的ipAndMask带有:
ipAndMask);
}
int网络掩码=整数。(ipar[1])的值.trim());
如果(网络掩码0 网络掩码31) {
抛出新的IllegalArgumentException(无效的ipAndMask带有:
ipAndMask);
}
IP v4实用程序。IP点(ipar[0]);
int netIP=ipInt (0xFFFFFFFF (32位网络掩码));
int hostScope=(0xFFFFFFFF网络掩码);
返回new int[] { netIP,netIP主机作用域};
public static String[]getipaddrsscope(String ipAndMask){
int[]ipin tarr=IP v4 util。getipintscope(ipAndMask);
返回新字符串[]{ IP v4实用程序。inttoip(ipin tarr[0]),
IP v4实用程序。int to IP(ipin tarr[0])};
}
* 根据互联网协议(互联网协议)子网掩码(192.168.1.1 255.255.255.0)转化为互联网协议(互联网协议)段
* @param ipAddr ipAddr
* @param掩码掩码
* @return int[]
*/
public static int[]getipinscope(String IP addr,String mask) {
ipInt=IP v4 util。IP点(IP地址);
if (null==mask .等于(掩码)){
返回new int[] { ipInt,ipInt };
}
netMaskInt=IP v4 util。IP点(掩码);
IP count=IP v4 util。IP点( 255。255 .255 .255’)——netMaskInt;
int netIP=ipInt netMaskInt
int hostScope=netIP ipcount
返回new int[] { netIP,主机范围};
} catch(异常e) {
抛出新的IllegalArgumentException(无效的互联网协议(Internet Protocol的缩写)作用域快速ip:
“IP addr”掩码:“mask”);
}
* 根据互联网协议(互联网协议)子网掩码(192.168.1.1 255.255.255.0)转化为互联网协议(互联网协议)段
* @param ipAddr ipAddr
* @param掩码掩码
* @返回字符串[]
*/
公共静态字符串[] getIPStrScope
int[]ipintarr=IP v4 util。getipinscope(ipaddr、mask);
返回新字符串[]{ IP v4实用程序。inttop(ipintarr[0]),
IP v4实用程序。inttop(ipintarr[0])}:
}
公共静态void main(string[]args)引发异常[
元组字符串= 192 .168 .8 .1 ;
}
系统。出去。println( IP: ipadd by inet-byte[]:[ bytes str
"]":
bytearr=IP v4 util。iptbytesbyrg(IP addr);
字节字符串=新字符串缓冲区();
}
系统。出去。println( IP: ipaddr byeg字节[]: [字节字符串
"]":
系统。出去。println( byte[]: bytestr -IP:
IP v4实用程序。bytestoip(bytearr));
系统。出去。println( int: ipint -IP:
IP v4实用程序。int top(ipint);
int[]IP cope=IP v4 util。getipinscope(ipandmask);
系统。出去。println(ipandmask -int)地址段:[ ipscope[0],
IP cope[1]];
系统。出去。println(ipandmask)-IP地址段:["
IP v4实用程序。inttop(IP cope[0]),
IP v4实用程序。int top(IP cope[1])];
int[]IP cope 1=IP v4 util。getipinscope(ipaddr 1,IP mask 1);
System.out.println(ipAddr1," ipmask 1"-int地址段:["
IP cope 1[0]、IP cope 1[1]];
System.out.println(ipAddr1," ipmask 1"-IP地址段:["
IP v4实用程序。inttop(IP cope 1[0]),
IP v4实用程序。int top(IP cope 1[1])];
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。