Конвертировать IPv6 в long без внешней библиотеки - PullRequest
1 голос
/ 24 октября 2019

интересно, возможно ли преобразовать IPv6 в длинное целое число, используя Python версии 2.6.6 без какой-либо внешней библиотеки?

У меня нет роскоши устанавливать какую-либо внешнюю библиотеку в этом экземпляре по определенной причине: (

1 Ответ

0 голосов
/ 24 октября 2019

Для начала ознакомьтесь с реализацией метода класса _BaseV6._ip_int_from_string() из модуля ipaddress, хотя сам модуль был добавлен в Python 3.3.

Когда вывызов ipaddress.IPv6Address('2001:db8::') (передача Python3 str), это то, что называется .

Эта функция синтаксического анализа учитывает ряд случаев с разногласиями, такими как IPv4суффикс Если ваша функция ограничена рядом правил, которые являются подмножеством «допустимой строки Ipv6», вы, вероятно, могли бы упростить этот метод. Но достаточно сказать, что есть причина, по которой реализация представляет собой пару сотен строк довольно плотного кода.

...