在 Java 中获取 Ipv6 完整格式

问题描述 投票:0回答:2

我有一个ipv6,例如:“2001:cdba :: 3257:9652”。我想获得完整格式的ipv6,例如:2001:cdba:0000:0000:0000:0000:3257:9652。 java中有没有函数可以做到这一点?如何压缩 ipv6 全格式? 谢谢大家。

java ipv6
2个回答
3
投票

标准 Java 库中没有方法可以做到这一点。

IPAddress Java 库 具有生成这些格式和各种其他字符串格式的方法。

这是一个代码示例:

    IPAddressString addrString = new IPAddressString("2001:cdba::3257:9652");
    IPAddress addr = addrString.getAddress();
    String string = addr.toFullString();
    System.out.println(string);
    string = addr.toCanonicalString();
    System.out.println(string);

输出为:

2001:cdba:0000:0000:0000:0000:3257:9652
2001:cdba::3257:9652

0
投票
import com.google.common.net.InetAddresses;
// Convert the short IPv6 address to a full version
InetAddress inetAddress = InetAddresses.forString(shortIPv6); 
return inetAddress.getHostAddress();
© www.soinside.com 2019 - 2024. All rights reserved.