将hex字符串转换为IP地址

我想将字符串值(hex)转换为IP地址。 我怎么能用Java做到这一点?

hex值: 0A064156

IP: 10.6.65.86

这个网站给了我正确的结果,但我不知道如何在我的代码中实现这一点。

可以直接在XSLT中完成吗?

试试这个

 InetAddress a = InetAddress.getByAddress(DatatypeConverter.parseHexBinary("0A064156")); 

DatatypeConverter来自标准的javax.xml.bind

您可以将组的hex值拆分为2,然后将它们转换为整数。

0A = 10

06 = 06

65 = 41

86 = 56

码:

 String hexValue = "0A064156"; String ip = ""; for(int i = 0; i < hexValue.length(); i = i + 2) { ip = ip + Integer.valueOf(hexValue.subString(i, i+2), 16) + "."; } System.out.println("Ip = " + ip); 

输出:

Ip = 10.6.65.86。

 public String convertHexToString(String hex){ StringBuilder sb = new StringBuilder(); StringBuilder temp = new StringBuilder(); for( int i=0; i 

}

您可以使用以下方法:

 public static String convertHexToIP(String hex) { String ip= ""; for (int j = 0; j < hex.length(); j+=2) { String sub = hex.substring(j, j+2); int num = Integer.parseInt(sub, 16); ip += num+"."; } ip = ip.substring(0, ip.length()-1); return ip; } 

您可以将它拆分为2个字符,然后使用Integer.parse(string,radix)转换为整数值

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html#parseInt(java.lang.String,int)