这个方法是先将ip转换为十进制,再转换为16进制,好处是不会缺少
public static String ipTohex(String ipString){
//String ipString = "224.0.1.10";
Long[] ip = new Long[4];
int pos1= ipString.indexOf(".");
int pos2= ipString.indexOf(".",pos1+1);
int pos3= ipString.indexOf(".",pos2+1);
ip[0] = Long.parseLong(ipString.substring(0 , pos1));
ip[1] = Long.parseLong(ipString.substring(pos1+1 , pos2));
ip[2] = Long.parseLong(ipString.substring(pos2+1 , pos3));
ip[3] = Long.parseLong(ipString.substring(pos3+1));
String Ip = Integer.toHexString((int) ((ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]));
return Ip;
}
输入ip:224.0.1.10
输出结果:e000010a