IP一般有两种展示形式,一种是最常见的那种:23.234.10.209;另一种就是十进制的展示:401214161。如果你只是想要看下IP转换后的数据,可以打开cmd,ping下就可以看到。它会吧十进制的转换成标准IP。
然后,我写了两个工具类,就是两种IP进行相互转换。使用的是位运算:
// ip 数字转换为标准格式
public static String ipTransfer(Long ip) {
return ((ip >> 24) & 0xff)+"."+((ip >> 16) & 0xff)+"."+((ip >> 8) & 0xff)+"."+(ip & 0xff);
}
/**
* 将标准格式ip转换为数字
* @param ip
* @return
*/
public static Long ipTransferToLong(String ip) {
String[] split = ip.split("\\.");
return ((Long.parseLong(split[0])<<24)+(Long.parseLong(split[1])<<16)+(Long.parseLong(split[2])<<8)+(Long.parseLong(split[3])));
}
大家用到的时候,可以直接使用。