我有一个ipv6,例如:“2001:cdba :: 3257:9652”。我想获得完整格式的ipv6,例如:2001:cdba:0000:0000:0000:0000:3257:9652。 java中有没有函数可以做到这一点?如何压缩 ipv6 全格式? 谢谢大家。
标准 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
import com.google.common.net.InetAddresses;
// Convert the short IPv6 address to a full version
InetAddress inetAddress = InetAddresses.forString(shortIPv6);
return inetAddress.getHostAddress();