Inet6Address.getByName() 对 0:0:0:0:0:ffff:0:0 给出奇怪的响应
Inet6Address.getByName() giving odd response for 0:0:0:0:0:ffff:0:0
我正在使用以下代码规范化 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 不是 return IPv6 格式?
getHostAddress()
正在(正确地)显示 IPv4-mapped IPv6 address。
我正在使用以下代码规范化 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 不是 return IPv6 格式?
getHostAddress()
正在(正确地)显示 IPv4-mapped IPv6 address。