Java:将 int 转换为 InetAddress
2022-09-01 11:43:12
我有一个包含网络字节顺序的IP地址,我想将其转换为对象。我看到有一个构造函数需要一个,是否有必要将 转换为第一个,还是有另一种方法?int
InetAddress
InetAddress
byte[]
int
byte[]
我有一个包含网络字节顺序的IP地址,我想将其转换为对象。我看到有一个构造函数需要一个,是否有必要将 转换为第一个,还是有另一种方法?int
InetAddress
InetAddress
byte[]
int
byte[]
经过测试和工作:
int ip = ... ;
String ipStr =
String.format("%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));
这应该有效:
int ipAddress = ....
byte[] bytes = BigInteger.valueOf(ipAddress).toByteArray();
InetAddress address = InetAddress.getByAddress(bytes);
您可能必须交换字节数组的顺序,我无法确定数组是否将以正确的顺序生成。