我使用
Java(使用Spring框架)并希望在IPv4地址的数字表示(例如2130706433)和它们的文本对应物(例如127.0.0.1)之间进行转换.通常,这样做的方法是用编程语言提供的(它们通常分别称为INET_NTOA和INET_ATON)但我在Java中找不到它.
有谁知道他们叫什么或如何实现它们?
解决方法
在javadocs中查看
InetAddress.标准API不直接支持这些函数,但您可以使用此类提取这两个表示.
一个小例子:
一个小例子:
InetAddress address = InetAddress.getLocalHost(); byte[] byteAddress = address.getAddress(); System.out.println(Arrays.toString(byteAddress)); System.out.println(address.getHostAddress());
(请记住,字节已签名.)
如果你有长期比你可以使用ByteBuffer,快速和舒适的转换.方法:putLong()然后是array().