Безкоштовні інструменти

Конвертер IPv4 у ціле число

Перетворює адресу IPv4 у десяткове, шістнадцяткове та двійкове цілочисельне подання й назад.

Що робить конвертер IPv4 у ціле число

Цей інструмент перетворює IPv4-адресу туди й назад між її зрозумілою людині формою з крапками та звичайними числами, які насправді зберігає комп'ютер: десятковим цілим числом, шістнадцятковим цілим числом і 32-бітним двійковим рядком. Введіть 192.168.1.1 — і ви отримаєте 3232235777 у десятковій системі, 0xC0A80101 у шістнадцятковій та 11000000.10101000.00000001.00000001 у двійковій; введіть будь-яку з цих числових форм — і він поверне вам адресу з крапками. Він працює в обох напрямках автоматично — розпізнає крапку, щоб прочитати адресу, префікс 0x, щоб прочитати шістнадцяткове число, і самі лише цифри, щоб прочитати десяткове ціле — тож вам ніколи не доводиться вказувати йому напрямок. Ви звертаєтеся до нього щоразу, коли адресі потрібно жити десь, де немає рядка з крапками: у стовпці бази даних, електронній таблиці, рядку журналу, порівнянні діапазонів або фрагменті коду, що пакує адреси в поля фіксованої ширини.

Як це працює технічно

IPv4-адреса — це чотири октети, кожен по одному байту (8 бітів), разом 32 біти. Щоб перетворити a.b.c.d на єдине число, інструмент обчислює a×16777216 + b×65536 + c×256 + d, що те саме, що зсунути кожен октет у його позицію: a«24 | b«16 | c«8 | d. Це дає беззнакове значення десь між 0 (0.0.0.0) та 4294967295 (255.255.255.255) — увесь 32-бітний діапазон. У зворотному напрямку він вилущує октети назад за допомогою масок і зсувів: (n»24)&255, (n»16)&255 і так далі. Шістнадцяткова форма — це просто те саме ціле число за основою 16 (дві шістнадцяткові цифри на октет, тому 192 стає C0), а двійкова форма групує 32 біти в чотири байти, щоб ви могли буквально бачити біти мережі та вузла. Інструмент перевіряє на ходу: октети понад 255 відхиляються, а будь-яке ціле число понад 4 294 967 295 позначається як таке, що виходить за межі 32-бітного діапазону, замість тихого переповнення.

Конкретні приклади та сценарії використання

  • Ефективне зберігання IP-адрес — 4-байтний стовпець INT UNSIGNED менший і швидший для індексації, ніж текстове поле, а запити діапазонів на кшталт ip BETWEEN x AND y просто працюють.
  • GeoIP та списки блокування — більшість наборів даних «IP-до-країни» та репутаційних наборів публікуються як цілочислові діапазони початок/кінець; перетворення адреси дозволяє знайти, який діапазон її містить.
  • Сортування — сортування адрес як рядків ставить 10.0.0.9 після 10.0.0.100; сортування цілих чисел дає правильний числовий порядок.
  • Налагодження — коли захоплення пакетів або структура C показує сире 0xC0A80101, це відразу підказує вам, що це 192.168.1.1.

Практичні поради та підводні камені

Тримайте значення беззнаковим. Деякі мови трактують 32-бітне ціле число як знакове, тож адреси понад 127.255.255.255 (де встановлено старший біт) можуть з'являтися як від'ємне число; якщо ваша база даних або код показує від'ємне значення, додайте 4 294 967 296, щоб відновити справжню адресу. Стережіться також провідних нулів: запис октета як 010 деякі парсери трактують як вісімкове (8), тож завжди використовуйте звичайні десяткові октети. Насамкінець пам'ятайте, що це лише для IPv4 — 128-бітна IPv6-адреса не вміститься в 32-бітне ціле число, і для таких вам потрібен спеціальний інструмент IPv6.

Приватність: перетворення відбувається повністю у вашому браузері за допомогою клієнтського JavaScript. Хоч би яку адресу чи ціле число ви ввели, воно ніколи не залишає ваш пристрій — немає жодного звернення до сервера, жодного завантаження й жодного журналювання — тож ви можете перетворювати внутрішні або клієнтські адреси, не розкриваючи їх. Якщо ви хочете побачити, як ваша власна публічна адреса виглядає для зовнішнього світу, наша перевірка IP покаже її разом із даними геолокації та зворотного DNS.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.