Функции для работы с 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.
Возвращаемое значение
- IPv6 адрес в двоичном формате. FixedString(16).
Пример
Запрос:
Результат:
Смотрите также
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 не совпадают.
Аргументы
Возвращаемое значение
1или0. UInt8.
Пример
Запрос:
Результат:
Запрос:
Результат:
Запрос:
Результат: