Java-библиотека с открытым исходным кодом с открытым исходным кодом предоставляет различные методы для различных форматов строк. Несколько могут быть использованы для получения нормализованной строки. Отказ от ответственности: я руководитель проекта библиотеки IPAddress.
Двумя подходящими для рассмотрения «стандартизированными» строками являются каноническая и нормализованная.
Каноническая строка является рекомендуемым способом записи адресов IPv6, как определено RFC 5952
Нормализованная строка - это формат, созданный классом java.net.InetAddress.
static void printNormalized(String strs[]) {
for (String str : strs) {
System.out.println(new IPAddressString(str).getAddress().toNormalizedString());
}
}
static void printCanonical(String strs[]) {
for (String str : strs) {
System.out.println(new IPAddressString(str).getAddress().toCanonicalString());
}
}
String strs[] = {
"2001:db8:0:0:1:0:0:1",
"2001:db8::1:0:0:1",
"2001:db8:0:0:1::1"};
printCanonical(strs);
System.out.println();
printNormalized(strs);
Выход:
2001:db8::1:0:0:1
2001:db8::1:0:0:1
2001:db8::1:0:0:1
2001:db8:0:0:1:0:0:1
2001:db8:0:0:1:0:0:1
2001:db8:0:0:1:0:0:1