Существует преобразование нотаций CIDR в диапазоны IP-адресов, связанное с публикацией. Мне нужна инверсия этого. Мне нужно сжать множество IP-адресов в нотацию CIDR, если это возможно.
Пример ввода:
192.168.0.0
192.168.0.1
..
..
192.168.0.255
192.168.2.4
192.168.3.8
Пример вывода:
192.168.0/24
192.168.2.4
192.168.3.8
Поскольку 192.168.2.4 и 192.168.3.8 не могут быть представлены в нотации CIDR, их можно перечислить как есть.
Я знаю, что это трудно для этого. Поскольку нотация CIDR имеет разный размер блоков. Но, по крайней мере, как я могу сжать свой список с блоком C (256 IP-адресов)?
Я попытаюсь сделать это с помощью С# linq.