Подтвердить что ты не робот

Как получить представление byte [] из IP в строковой форме в Java

Предположим, что у меня есть IP-адрес, хранящийся в String:

String ip = "192.168.2.1"

и я хочу получить массив байтов с четырьмя ints. Как мне это сделать? Спасибо!

4b9b3361

Ответ 1

Что-то вроде этого:

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

Ответ 2

Каждое число является байтом, поэтому в вашем случае соответствующий байт [] будет {192, 168, 2, 1}.

Чтобы быть более конкретным, если у вас есть строка, вам сначала нужно разбить ее на "." s, а затем проанализировать байт из каждой результирующей строки.