Как преобразовать двоичный адрес IPv4 в 4 октета с помощью библиотеки Python3 ipaddress? - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу использовать библиотеку Python3 ipaddress для преобразования двоичного сетевого адреса IPv4 в 4 октета; как бы я это сделал?

Пример:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0000

до

192.168.0.0

1 Ответ

1 голос
/ 02 апреля 2020

Я не думаю, что есть прямой путь, особенно если ввод в таком странном формате. Преобразование каждого «октата» в десятичное число:

import ipaddress

weird_ip = '1100 0000 - 1010 1000 - 0000 0000 - 0000 0000'
print(ipaddress.IPv4Address('.'.join(str(int(''.join(i.split(' ')), base=2))
                            for i in weird_ip.split(' - '))))

Выходы

192.168.0.0
...