Giả sử tôi đã IP lưu trữ trong một String:làm thế nào để có được một byte [] đại diện từ một IP trong chuỗi thức trong Java
Chuỗi ip = "192.168.2.1"
và tôi muốn để có được mảng byte với bốn int. Tôi có thể làm như thế nào? Cảm ơn!
Giả sử tôi đã IP lưu trữ trong một String:làm thế nào để có được một byte [] đại diện từ một IP trong chuỗi thức trong Java
Chuỗi ip = "192.168.2.1"
và tôi muốn để có được mảng byte với bốn int. Tôi có thể làm như thế nào? Cảm ơn!
Something như thế này:
InetAddress ip = InetAddress.getByName("192.168.2.1");
byte[] bytes = ip.getAddress();
for (byte b : bytes) {
System.out.println(b & 0xFF);
}
Mỗi số là một byte, vì vậy trong trường hợp của bạn, byte thích hợp [] sẽ là {192, 168, 2, 1}.
Để cụ thể hơn, nếu bạn có chuỗi, trước tiên bạn phải chia chuỗi đó thành "." Và sau đó phân tích cú pháp một byte từ mỗi chuỗi kết quả.
điều này cũng sẽ hoạt động tốt cho các tên miền "bình thường". –
oh và btw mặt nạ với 0xFF là giá trị trên 127 – Inv3r53