Python Glossary English

Python 3.3+ipaddressфункция

ipaddress.v6_int_to_packed()

упаковка в байты

Переводит целое число в 16 байт адреса IPv6 в сетевом порядке (big-endian).

Синтаксис

ipaddress.v6_int_to_packed(address)

Результат всегда ровно 16 байт, даже для маленьких чисел: адрес ::1 — это 15 нулей и единица. Числа вне 0..2**128-1 дают ValueError. Обратно байты читает IPv6Address(b); но ip_address() у 4-байтовой строки выберет IPv4, а у 16-байтовой — IPv6.

Примеры

import ipaddress
b = ipaddress.v6_int_to_packed(1)
print(len(b), b[-1])  # → 16 1
print(ipaddress.IPv6Address(b))  # → ::1
ipaddress.v6_int_to_packed(2 ** 128)  # → ValueError: Address negative or too large for IPv6

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности