在 java 中将 Expanded(long form) IPv6 转换为 IPv4 [已关闭]

Convert Expanded(long form) IPv6 to IPv4 in java [closed]

提问人:JDev 提问时间:9/18/2023 更新时间:9/18/2023 访问量:62

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

2个月前关闭。

社群在 2 个月前审查了是否重新打开这个问题,并将其关闭:

原始关闭原因未解决

我已经尝试了几个小时来寻找一个库或尝试使用 java-core 来做到这一点。

我正在尝试转换为,但没有一个谷歌方法不起作用。Expanded IPv6IPv4

也尝试了这个库。https://github.com/seancfoley/IPAddress

没有取得多大成功。

甚至可能吗?

要明白我的意思。例如,如果您 谷歌 ,那么谷歌将以该格式向您显示您的 IP。what is my ipExpanded IPv6

或者你可以看看这个网站:https://whatismyipaddress.com

如何在java中将字符串(IPv6长格式)转换为IPv4?

java ip ipv6 ipv4

评论

2赞 Sören 9/18/2023
是什么让你认为这是可能的?IPv6 和 IPv4 地址是不同的东西。
0赞 JDev 9/18/2023
事实上,它应该很简单,我找不到解决方案。
2赞 derpirscher 9/18/2023
IPv6 和 IPv4 是两个完全不同的东西。您不能将一个转换为另一个
4赞 Sören 9/18/2023
“它应该很简单”——需要引用。
1赞 Ron Maupin 9/19/2023
@Reilas,这个库似乎已经过时了。它甚至包括已弃用以支持 ULA 的站点本地地址:“站点本地地址现在已弃用,如 [SLDEP] 中定义的那样”,但没有任何内容需要检查 ULA。它确实包括 IPv4 映射地址:“在 InetAddress 和 Inet6Address 中,它用于内部表示;它没有功能作用。Java 永远不会返回 IPv4 映射地址。这些类可以将 IPv4 映射地址作为输入,包括字节数组和文本表示形式。但是,它将转换为 IPv4 地址。"

答:

2赞 Jorn 9/18/2023 #1

您不能将 IPv4 转换为 IPv6,反之亦然。它们是完全不同的东西。这就像将电话号码转换为街道地址一样:可能会出现 1:1 映射或 1:n 映射的情况,但无法保证。

评论

0赞 JDev 9/18/2023
感谢您的回答,但据我所知,它应该是可转换的。
4赞 Jorn 9/18/2023
那我很抱歉,但你的小知识是错误的;-)。如果您可以发布更多细节,说明您认为这是可能的,我们也许可以解释更多。