将压缩的IPv6地址转换为长格式的代码
问题描述:
我想知道,是否有可用于转换压缩的IPv6地址的表示(例如0:9876:5700 :: 9)的库,到长的IPv6形式(在此情况下:0000:9876:5700:0000:0000:0000:0000:0009).
将压缩的IPv6地址转换为长格式的代码
答
这种变换会进行转换:
ip = ip. replaceAll("^", "0000").replaceAll("::", "0000:0000:0000:0000:0000").replaceAll("^.*?(....)(?=:)|(?<=:)[^:]*(?=....$)", "");
在端部的额外replaceAll()
确保有在第一/最后的部分,这迎合没有额外的零前导/尾随地址信息(本例中的“0”和“9”)是任意数字的数字。