Перейти к основному содержимому
Перейти к основному содержимому

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

IPv4NumToString

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

Псевдоним: INET_NTOA.

IPv4StringToNum

Обратная функция к IPv4NumToString. Если формат IPv4 адреса недопустим, она выбрасывает исключение.

Псевдоним: INET_ATON.

IPv4StringToNumOrDefault(s)

То же, что и IPv4StringToNum, но если формат IPv4 адреса недопустим, возвращает 0.

IPv4StringToNumOrNull(s)

То же, что и IPv4StringToNum, но если формат IPv4 адреса недопустим, возвращает null.

IPv4NumToStringClassC(num)

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

Пример:

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

IPv6NumToString(x)

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

Псевдоним: INET6_NTOA.

Примеры:

IPv6StringToNum

Обратная функция к IPv6NumToString. Если формат IPv6 адреса недопустим, она выбрасывает исключение.

Если входная строка содержит допустимый IPv4 адрес, возвращает его эквивалент в IPv6. HEX может быть заглавным или строчным.

Псевдоним: INET6_ATON.

Синтаксис

Аргумент

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

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

Пример

Запрос:

Результат:

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

IPv6StringToNumOrDefault(s)

То же, что и IPv6StringToNum, но если формат IPv6 адреса недопустим, возвращает 0.

IPv6StringToNumOrNull(s)

То же, что и IPv6StringToNum, но если формат IPv6 адреса недопустим, возвращает null.

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

Как IPv4StringToNum, но принимает строку в форме IPv4 адреса и возвращает значение типа IPv4.

Синтаксис

Аргументы

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

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

  • string преобразованный в IPv4 адрес. IPv4.

Примеры

Запрос:

Результат:

Запрос:

Результат:

toIPv4OrDefault

То же, что и toIPv4, но если формат IPv4 адреса недопустим, возвращает 0.0.0.0 (0 IPv4) или предоставленный IPv4 по умолчанию.

Синтаксис

Аргументы

  • value — IP адрес. String.
  • default (необязательный) — Значение, которое будет возвращено, если string имеет недопустимый формат. IPv4.

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

  • string преобразованный в текущий IPv4 адрес. String.

Пример

Запрос:

Результат:

toIPv4OrNull

То же, что и toIPv4, но если формат IPv4 адреса недопустим, возвращает null.

Синтаксис

Аргументы

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

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

  • string преобразованный в текущий IPv4 адрес или null, если string является недопустимым адресом. String.

Пример

Запрос:

Результат:

toIPv4OrZero

То же, что и toIPv4, но если формат IPv4 адреса недопустим, возвращает 0.0.0.0.

Синтаксис

Аргументы

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

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

  • string преобразованный в текущий IPv4 адрес или 0.0.0.0, если string является недопустимым адресом. String.

Пример

Запрос:

Результат:

toIPv6

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

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

Синтаксис

Аргумент

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

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

  • IP адрес. IPv6.

Примеры

Запрос:

Результат:

Запрос:

Результат:

toIPv6OrDefault

То же, что и toIPv6, но если формат IPv6 адреса недопустим, возвращает :: (0 IPv6) или предоставленный IPv6 по умолчанию.

Синтаксис

Аргумент

  • string — IP адрес. String.
  • default (необязательный) — Значение, которое будет возвращено, если string имеет недопустимый формат. IPv6.

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

  • IPv6 адрес IPv6, в противном случае :: или предоставленный необязательный по умолчанию, если string имеет недопустимый формат.

Пример

Запрос:

Результат:

toIPv6OrNull

То же, что и toIPv6, но если формат IPv6 адреса недопустим, возвращает null.

Синтаксис

Аргумент

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

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

  • IP адрес. IPv6, или null, если string не имеет допустимого формата.

Пример

Запрос:

Результат:

toIPv6OrZero

То же, что и toIPv6, но если формат IPv6 адреса недопустим, возвращает ::.

Синтаксис

Аргумент

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

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

  • IP адрес. IPv6, или ::, если string не имеет допустимого формата.

Пример

Запрос:

Результат:

IPv6StringToNumOrDefault(s)

То же, что и toIPv6, но если формат IPv6 адреса недопустим, возвращает 0.

IPv6StringToNumOrNull(s)

То же, что и toIPv6, но если формат IPv6 адреса недопустим, возвращает null.

isIPv4String

Определяет, является ли входная строка IPv4 адресом или нет. Если string является IPv6 адресом, возвращает 0.

Синтаксис

Аргументы

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

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

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

Примеры

Запрос:

Результат:

isIPv6String

Определяет, является ли входная строка IPv6 адресом или нет. Если string является IPv4 адресом, возвращает 0.

Синтаксис

Аргументы

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

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

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

Примеры

Запрос:

Результат:

isIPAddressInRange

Определяет, содержится ли IP адрес в сети, представленной в нотации CIDR. Возвращает 1, если это так, или 0 в противном случае.

Синтаксис

Эта функция принимает как IPv4, так и IPv6 адреса (и сети), представленные в виде строк. Она возвращает 0, если версия IP адреса и CIDR не совпадают.

Аргументы

  • address — IPv4 или IPv6 адрес. String.
  • prefix — IPv4 или IPv6 сетевой префикс в CIDR. String.

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

Пример

Запрос:

Результат:

Запрос:

Результат:

Запрос:

Результат: