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

zod*_*dac 1 java ipv4 ipv6

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

try {
    return Inet6Address.getByName(ipAddress).getHostAddress();
} catch (final UnknownHostException e) {
    return ipAddress;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用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
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*n O 7

getHostAddress()是(正确)显示IPv4映射的IPv6地址.