将十六进制字符串转换为IP地址

Rg9*_*g90 11 java ip hex converters

我想将字符串值(十六进制)转换为IP地址.我怎么能用Java做到这一点?

十六进制值: 0A064156

IP: 10.6.65.86

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

可以直接在XSLT中完成吗?

Evg*_*eev 16

试试这个

InetAddress a = InetAddress.getByAddress(DatatypeConverter.parseHexBinary("0A064156"));
Run Code Online (Sandbox Code Playgroud)

DatatypeConverter来自标准javax.xml.bind


JRE*_*REN 6

您可以将二进制值拆分为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);
Run Code Online (Sandbox Code Playgroud)

输出:

Ip = 10.6.65.86.