如何在Java中以String形式从IP获取byte []表示

时间:2010-06-06 14:49:00

标签: java bytearray ip

假设我将IP存储在字符串中:

String ip =“192.168.2.1”

我希望得到四个整数的字节数组。 我该怎么做?谢谢!

3 个答案:

答案 0 :(得分:40)

这样的事情:

InetAddress ip = InetAddress.getByName("192.168.2.1");
byte[] bytes = ip.getAddress();
for (byte b : bytes) {
    System.out.println(b & 0xFF);
}

答案 1 :(得分:3)

每个数字都是一个字节,所以在你的情况下,相应的byte []将是{192,168,2,1}。

更具体地说,如果你有字符串,首先必须用“。”拆分它,然后从每个结果字符串中解析一个字节。

答案 2 :(得分:0)

这对我很有效(Kotlin):

    open fun reachable(host: String?): Boolean { // 'host' is string, e.g., "177.111.155.11"
    return try {
        val ipAddress = InetAddress.getByName(host)  // get IP address
        ipAddress.isReachable(2000)         // Is it reachable? T or F
    } catch (e: IOException) {
        CoroutineScope(Main).launch {
            myNote("MyWX LAN Reachable Error", e.message!!) // Display error
        }
        false
    }
}