Python: IP <=> int
IP -> int
import socket ip = '5.5.5.5' def inet_aton(a: str): n = 0 for i, v in enumerate(reversed([int(n) for n in a.split('.')])): n += v << (8 * i) return n print(inet_aton(ip)) print(int.from_bytes(socket.inet_aton(ip), byteorder = 'big', signed = False)) print(int.from_bytes(socket.inet_pton(socket.AF_INET, ip), byteorder = 'big', signed = False))
int -> IP
import socket def inet_ntoa(n: int): valor = list() for i in range(3, -1, -1): valor.append(n >> 8 * i & 0xFF) return '.'.join((str(b) for b in valor)) n = 84215045 print(inet_ntoa(n)) print(socket.inet_ntoa(n.to_bytes(4, byteorder = 'big', signed = False))) print(socket.inet_ntop(socket.AF_INET, n.to_bytes(4, byteorder = 'big', signed = False)))

浙公网安备 33010602011771号