1. 程式人生 > >子網掩碼和prefixlength

子網掩碼和prefixlength

Prefix Length:字首長度,mask長度,即子網掩碼為1的位數。
有一些情況下會返回字首長度,但是需要的是子網掩碼,需要程式碼進行轉換。

 程式碼如下

String[] parts = addr.split("/");
    String ip = parts[0];
    int prefix;
    if (parts.length <  2) {
        prefix = 0;
    } else {
        prefix = Integer.parseInt(parts[1]);
    }
    int mask = 0xffffffff < <  (32
- prefix); System.out.println("Prefix=" + prefix); System.out.println("Address=" + ip); int value = mask; byte[] bytes = new byte[]{ (byte)(value > > > 24), (byte)(value > > 16 & 0xff), (byte)(value > > 8 & 0xff), (byte)(value & 0xff
) }; InetAddress netAddr = InetAddress.getByAddress(bytes); System.out.println("Mask=" + netAddr.getHostAddress());