1. 程式人生 > >python_整型與IP地址的轉換

python_整型與IP地址的轉換

rto 代碼實現 p地址 關系 pri python 對齊 brush 進制

1. strip 函數接受參數,可刪除兩邊的字符,例如 strip(‘0b‘) 0和b是或的關系。在代碼中使用了lstrip 是因為bin函數進行轉換成二進制數字時會自動添加0b

2. zfill的功能是將字符串右對齊,前面用0補齊。

3. 代碼中調用的方法對於參數有要求是字符串或是整型的,這點需要註意轉換

代碼實現:

def integerToIP(integer):
    raw = bin(int(integer)).lstrip(‘0b‘).zfill(32)
    print raw
    ip = ‘%d.%d.%d.%d‘ % (int(raw[0:8],2) , int(raw[8:16],2) , int(raw[16:24],2) , int(raw[24:32],2))
    return ip

def ipToInteger(ip):
    raw = ip.split(‘.‘)
    if len(raw)!=4:
        print ‘不是合法的IP地址,請重新輸入‘
        return
    binnum = bin(int(raw[0])).lstrip(‘0b‘).zfill(8)+bin(int(raw[1])).lstrip(‘0b‘).zfill(8)+bin(int(raw[2])).lstrip(‘0b‘).zfill(8)+bin(int(raw[3])).lstrip(‘0b‘).zfill(8)
    integer = int(binnum,2)
    return integer

python_整型與IP地址的轉換