Недавно я узнал, что преобразование IP -адресов в десятичные, восьмиугольные и шестнадцатеричные может также получить доступ к веб -сайту.
Конвертировать IP в цифровой (второй алгоритм. Используйте левую смену, бить по биту или реализацию. Более эффективно.):
public long iptolong (String iPaddress) {long result = 0; String [] iPaddressInarray = iPaddress.split ("//."); for (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinarray [3-i]); // оставшееся сдвигается 24,16,8,0 и бить или // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 Результат | = IP << (i * 8); } return Result; }Когда цифры преобразуются в IP, оба алгоритма похожи:
// ip = 3232235778 Public String Longtoip (Long IP) {StringBuilder result = new StringBuilder (15); for (int i = 0; i <4; i ++) {result.insert (0, long.tostring (ip & 0xff)); if (i <3) {result.insert (0, '.'); } ip = ip >> 8; } return result.toString (); } // ip = 3232235778 public String longtoip2 (long ip) {return ((ip >> 24) & 0xff) + ".". " + ((ip >> 16) & 0xff) + "." + ((ip >> 8) и 0xff) + "." + (ip & 0xff); }Полный код:
открытый класс javabitwiseexample {public static void main (string [] args) {javabitwiseexample obj = new javabitwiseexample (); System.out.println ("iptolong:" + obj.iptolong ("192.168.1.2")); System.out.println ("iptolong2:" + obj.iptolong2 ("192.168.1.2")); System.out.println ("longtoip:" + obj.longtoip (3232235778L); System.out.println ("longtoip2:" + obj.longtoip2 (3232235778L); } // Пример: 192.168.1.2 Public Long Iptolong (String iPaddress) {// ipaddressinarray [0] = 192 String [] iPaddressinarray = iPaddress.split ("//"); длинный результат = 0; for (int i = 0; i <ipaddressinarray.length; i ++) {int power = 3 - i; int ip = integer.parseint (ipaddressinarray [i]); // 1. } return Result; } public long iptolong2 (String iPaddress) {long result = 0; String [] iPaddressInarray = iPaddress.split ("//."); for (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinarray [3-i]); // Смена слева 24,16,8,0 и бить и // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 Результат | = IP << (i * 8); } return Result; } public String longtoip (long i) {return ((i >> 24) & 0xff) + ".". + ((i >> 16) & 0xff) + "." + ((i >> 16) & 0xff) + "." + ((i >> 8) и 0xff) + "." + (i & 0xff); } public String longtoip2 (long ip) {stringBuilder sb = new StringBuilder (15); for (int i = 0; i <4; i ++) {// 1. 2 // 2. 1 // 3. 168 // 4. 192 sb.insert (0, long.tostring (ip & 0xff)); if (i <3) {sb.insert (0, '.'); } // 1. 192.168.1.2 // 2. 192.168.1 // 3. 192.168 // 4. 192 IP = IP >> 8; } вернуть sb.toString (); }}Суммировать
Выше приведено все содержание этой статьи о примерах преобразования кода IP -адресов и цифр Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это!