Inet6Address.getByName()给出奇数响应0:0:0:0:0:ffff:0:0

时间:2016-10-13 17:38:33

标签: java ipv6 ipv4

我正在使用以下代码来规范化IPv6 IP地址:

try {
    return Inet6Address.getByName(ipAddress).getHostAddress();
} catch (final UnknownHostException e) {
    return ipAddress;
}

然而,当我使用IP“0:0:0:0:0:ffff:0:0”时,我得到“0.0.0.0”作为响应。我在每个其他八位字节中用“ffff”尝试了这个代码,它们看起来很好:

ffff:0:0:0:0:0:0:0
0:ffff:0:0:0:0:0:0
0:0:ffff:0:0:0:0:0
0:0:0:ffff:0:0:0:0
0:0:0:0:ffff:0:0:0
0.0.0.0
0:0:0:0:0:0:ffff:0
0:0:0:0:0:0:0:ffff

关于为什么这个IP特别不会返回IPv6格式的任何想法?

1 个答案:

答案 0 :(得分:7)

getHostAddress()(正确)显示IPv4-mapped IPv6 address