Skip to main content
Skip to main content
Edit this page

Функции для работы с IP-адресами

IPv4NumToString(num)

Принимает число типа UInt32. Интерпретирует его, как IPv4-адрес в big endian. Возвращает строку, содержащую соответствующий IPv4-адрес в формате A.B.C.D (числа в десятичной форме через точки).

Синоним: INET_NTOA.

IPv4StringToNum(s)

Функция, обратная к IPv4NumToString. Если IPv4 адрес в неправильном формате, то возвращает 0.

Синоним: INET_ATON.

IPv4NumToStringClassC(num)

Похоже на IPv4NumToString, но вместо последнего октета используется xxx.

Пример:

В связи с тем, что использование xxx весьма необычно, это может быть изменено в дальнейшем. Вам не следует полагаться на конкретный вид этого фрагмента.

IPv6NumToString(x)

Принимает значение типа FixedString(16), содержащее IPv6-адрес в бинарном виде. Возвращает строку, содержащую этот адрес в текстовом виде. IPv6-mapped IPv4 адреса выводится в формате ::ffff:111.222.33.44.

Примеры: INET6_NTOA.

Примеры:

IPv6StringToNum

Функция, обратная к IPv6NumToString. Если IPv6 адрес передан в неправильном формате, то возвращает строку из нулевых байт.

Если IP адрес является корректным IPv4 адресом, функция возвращает его IPv6 эквивалент.

HEX может быть в любом регистре.

Синоним: INET6_ATON.

Синтаксис

Аргумент

  • string — IP адрес. String.

Возвращаемое значение

  • Адрес IPv6 в двоичном представлении.

Тип: FixedString(16).

Пример

Запрос:

Результат:

Смотрите также

IPv4ToIPv6(x)

Принимает число типа UInt32. Интерпретирует его, как IPv4-адрес в big endian. Возвращает значение FixedString(16), содержащее адрес IPv6 в двоичном формате. Примеры:

cutIPv6(x, bytesToCutForIPv6, bytesToCutForIPv4)

Принимает значение типа FixedString(16), содержащее IPv6-адрес в бинарном виде. Возвращает строку, содержащую адрес из указанного количества байтов, удаленных в текстовом формате. Например:

IPv4CIDRToRange(ipv4, Cidr),

Принимает на вход IPv4 и значение UInt8, содержащее CIDR. Возвращает кортеж с двумя IPv4, содержащими нижний и более высокий диапазон подсети.

IPv6CIDRToRange(ipv6, Cidr),

Принимает на вход IPv6 и значение UInt8, содержащее CIDR. Возвращает кортеж с двумя IPv6, содержащими нижний и более высокий диапазон подсети.

toIPv4(string)

Псевдоним функции IPv4StringToNum() которая принимает строку с адресом IPv4 и возвращает значение типа IPv4, которое равно значению, возвращаемому функцией IPv4StringToNum().

toIPv6

Приводит строку с адресом в формате IPv6 к типу IPv6. Возвращает пустое значение, если входящая строка не является корректным IP адресом. Похоже на функцию IPv6StringToNum, которая представляет адрес IPv6 в двоичном виде.

Если входящая строка содержит корректный IPv4 адрес, функция возвращает его IPv6 эквивалент.

Синтаксис

Аргумент

  • string — IP адрес. String

Возвращаемое значение

  • IP адрес.

Тип: IPv6.

Примеры

Запрос:

Результат:

Запрос:

Результат:

isIPv4String

Определяет, является ли строка адресом IPv4 или нет. Также вернет 0, если string — адрес IPv6.

Синтаксис

Аргументы

  • string — IP адрес. String.

Возвращаемое значение

  • 1 если string является адресом IPv4 , иначе — 0.

Тип: UInt8.

Примеры

Запрос:

Результат:

isIPv6String

Определяет, является ли строка адресом IPv6 или нет. Также вернет 0, если string — адрес IPv4.

Синтаксис

Аргументы

  • string — IP адрес. String.

Возвращаемое значение

  • 1 если string является адресом IPv6 , иначе — 0.

Тип: UInt8.

Примеры

Запрос:

Результат:

isIPAddressInRange

Проверяет, попадает ли IP адрес в интервал, заданный в нотации CIDR.

Синтаксис

Функция принимает IPv4 или IPv6 адрес виде строки. Возвращает 0, если версия адреса и интервала не совпадают.

Аргументы

  • address — IPv4 или IPv6 адрес. String.
  • prefix — IPv4 или IPv6 подсеть, заданная в нотации CIDR. String.

Возвращаемое значение

  • 1 или 0.

Тип: UInt8.

Примеры

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат: